使用 Spring Integration HttpInbound 示例

Posted

技术标签:

【中文标题】使用 Spring Integration HttpInbound 示例【英文标题】:Using Spring Integration HttpInbound example 【发布时间】:2015-03-03 23:11:49 【问题描述】:

我正在尝试在 Spring-boot 应用程序中使用 Spring-integration 来下载 HTTP 文件并将其保存到磁盘。 我找不到任何这样做的例子。 查看我发现的文档:

<bean id="httpInbound"
  class="org.springframework.integration.http.inbound.HttpRequestHandlingController">
  <constructor-arg value="true" /> <!-- indicates that a reply is expected -->
  <property name="requestChannel" ref="httpRequestChannel" />
  <property name="replyChannel" ref="httpReplyChannel" />
  <property name="viewName" value="jsonView" />
  <property name="supportedMethodNames" >
    <list>
      <value>GET</value>
      <value>DELETE</value>
    </list>
  </property>
</bean>

仍然不确定如何连接所有点。我发送 URL 路径的动态程度如何?

我只找到了 http 出站示例。

场景非常简单。只需通过通道发送文件路径即可下载,就是这样

有什么实际的例子吗? 谢谢。

【问题讨论】:

【参考方案1】:

此示例应该对您有所帮助:https://github.com/artembilan/si-http-download-excel-sample。

是的,它没有 Boot,但没有区别:只需使用 spring-boot-starter-web 将 Boot Plugin 添加到 Gradle,您的应用将成为嵌入 Tomcat 的 web-app。

【讨论】:

我注意到你在那里使用 web.xml。在我的 spring-boot 应用程序中,我没有使用 web.xml。我将如何添加 servlet? Spring Boot 会为您执行此操作 - 默认为 DispatcherServlet。您只需为&lt;http:inbound-gateway&gt; 指定所需的path

以上是关于使用 Spring Integration HttpInbound 示例的主要内容,如果未能解决你的问题,请参考以下文章

spring integration:如何从 Spring Controller 调用 Spring Integration?

在 Spring Integration DSL 中使用带有丢弃通道的过滤器

使用 spring-integration-dsl 的动态 http 入站网关

spring-integration-file 的 junit 测试用例

使用 Spring Integration JAR 时 Spring Batch 未退出

Spring Integration Dispatcher 没有频道订阅者