TCPゲートウェイ上に構築されたMy Spring Integrationアプリケーションがうまくいきます。要求メッセージをTCPゲートウェイに送信し、応答を準備するためにメッセージをserviceActivatorに転送し、応答がクライアントに送信されます。TCPゲートウェイで応答を送信した後、Spring統合のserviceActivatorにメッセージを送信
クライアントに送信した後、メッセージをデータベースに保存します。私は、クライアントに応答を送信した後で、別のserviceActivatorにメッセージを転送できるかどうかは不思議です。
「はい」の場合、スプリング設定をどのように設定する必要がありますか? この点について私は助けていただければ幸いです。ここで
は春のコンテキストファイルです:
<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>
あなたはその<service-activator>
ためoutput-channel
として<publish-subscribe-channel>
追加することができますあなたの
jdbcアダプタの 'order =" 1 "'(受信ゲートウェイの 'reply-channel'である' output-channel'と一緒に)ブリッジに 'order =" 1 "'を入れ、返信が最初に送信されます。 –