我正在使用spring集成以UDP发送一行文件。以下是我正在做的:
<int-file:inbound-channel-adapter
prevent-duplicates="false" id="filesIn" directory="file:input"
channel="inputFiles">
<int:poller default="true" fixed-rate="1000" />
</int-file:inbound-channel-adapter>
<int:splitter input-channel="inputFiles" output-channel="output">
<bean class="fr.spring.demo.FileSplitter">
<property name="commentPrefix" value="#" />
</bean>
</int:splitter>
<int:transformer input-channel="output" expression="payload"
output-channel="exampleChannel" />
<int:channel id="exampleChannel" />
<int-ip:udp-outbound-channel-adapter
id="udpOut" channel="exampleChannel" host="192.168.0.1" port="11111">
</int-ip:udp-outbound-channel-adapter>
因此,它从库中获取文件列表,将文件拆分为行并在端口11111上发送该行。
我想做的是根据文件扩展名在预定义端口上发送行:
谢啦!
当前无法根据消息选择端口;请随时打开新功能JIRA问题。
同时,您可以声明两个适配器,每个端口一个,并在上游添加一个路由器,根据文件扩展名路由到其中一个适配器。
谢谢Gary!
以下是我如何进行的:
<int-file:inbound-channel-adapter
prevent-duplicates="false" id="filesIn" directory="file:input"
channel="inputFiles">
<int:poller default="true" fixed-rate="1000" />
</int-file:inbound-channel-adapter>
<int:chain input-channel="inputFiles">
<int:header-enricher>
<int:header name="extension"
expression="payload.getName().substring(payload.getName().lastIndexOf('.'))" />
</int:header-enricher>
<int:splitter>
<bean class="fr.spring.demo.FileSplitter">
<property name="commentPrefix" value="#" />
</bean>
</int:splitter>
<int:router expression="headers.extension">
<int:mapping value=".gps" channel="udpChannel_11111" />
<int:mapping value=".ths" channel="udpChannel_11112" />
</int:router>
</int:chain>
<int:channel id="udpChannel_11111" />
<int:channel id="udpChannel_11112" />
<int-ip:udp-outbound-channel-adapter
channel="udpChannel_11111" host="192.168.0.1" port="11111" />
<int-ip:udp-outbound-channel-adapter
channel="udpChannel_11112" host="192.168.0.1" port="11112" />
问题内容: 入站和出站通道适配器之间的根本区别是什么? 任何示例都将非常有帮助。 我已经查看过Spring文档,这种“方向性”的区别对我来说还不清楚。我支持配置了outbound-channel-adapter的应用程序,但是我发现使用 出站 标签可以直观地了解行为计数器。该适配器获取一个外部文件,然后 将其 引入应用程序中, 在 该应用程序中我们解析文件并保留数据。 这类似于这个问题,但是我想更
可以在运行时向spring integration dsl注册MessageSources吗? 在我的例子中,我想创建多个FileReadingMessageSources(基于UI的输入),然后将有效负载发送到特定的通道/jms路由(从元数据或用户输入读取) 另一个问题是,是否可以动态注册IntegrationFlows?
使用Spring Integration Kafka,使用出站通道适配器,我尝试向名为“test”的主题发送消息 通过命令行终端,我启动了动物园管理员、kafka并创建了名为“test”的主题 Spring XML配置 JUnit测试代码 测试用例成功,在调试时,我发现channel.send()返回true 我使用下面的命令通过命令行检查了主题,但是我在测试主题中看不到任何消息。 bin/kaf
我需要一个http入站流通道,类似于ftp流适配器通道(http://docs.spring.io/spring-integration/docs/4.3.9.RELEASE/reference/html/ftp.html#ftp-流媒体)但我找不到,SI支持吗?如果不是,是否有可能解决问题? 我需要从http流通道接收soap消息,使用SAX转换消息,然后将其发送到http出站流通道
我正在使用Spring集成jms出站通道适配器,它将消息发送到动态队列。我使用属性destination expression=“headers.DestinationQueueName”。在将出站消息写入OUT\U MSG通道之前,在代码中设置DestinationQueueName。 如何在队列上设置这些属性:,和?
我在我们的项目中引入了spring集成,而不是遗留集成架构。该体系结构支持发送者和累犯。每个发件人可以配置3个目的地。 null Spring integration gateways看起来很合适。我可以使用default-request-channel来表示主流,error-channel来表示失败流。备份流的问题。如何复制网关传入消息并将其放置到备份通道? 更准确地说,这里是一个测试和代码。