【发布时间】:2017-02-13 19:57:06
【问题描述】:
我基于 TCP 网关构建的 Spring Integration 应用程序运行良好。它接收到 TCP 网关的请求消息并将消息转发给 serviceActivator 以准备响应,并将响应发送给客户端。
我想在发送给客户端后将消息保存到数据库。我只是想知道在将响应发送给客户端后是否可以将消息转发给另一个 serviceActivator。
如果是,应该如何设置弹簧配置? 我将不胜感激这方面的任何帮助。
这里是spring上下文文件:
<beans>
<int-ip:tcp-connection-factory id="crLfServer"
type="server"
port="${availableServerSocket}"
single-use="true"
so-timeout="10000"
using-nio="false"
serializer="connectionSerializeDeserialize"
deserializer="connectionSerializeDeserialize"
/>
<bean id="connectionSerializeDeserialize" class="org.springframework.integration.ip.tcp.serializer.ByteArrayStxEtxSerializer"/>
<int-ip:tcp-inbound-gateway id="gatewayCrLf"
connection-factory="crLfServer"
request-channel="serverBytes2StringChannel"
error-channel="errorChannel"
reply-timeout="10000"/> <!-- reply-timeout works on inbound-gateway -->
<int:channel id="toSA" />
<int:service-activator input-channel="toSA"
ref="myService"
method="prepare"/>
<int:object-to-string-transformer id="serverBytes2String"
input-channel="serverBytes2StringChannel"
output-channel="toSA"/>
<int:transformer id="errorHandler"
input-channel="errorChannel"
expression="payload.failedMessage.payload + ':' + payload.cause.message"/>
</beans>
谢谢
【问题讨论】:
标签: java spring tcp spring-integration