如何在spring集成中处理ACK / NAK?

时间:2016-08-22 15:47:26

标签: java tcp spring-integration tcp-ip

我的Tcp服务器在弹簧集成方面运行良好。我使用以下bean:

<int-ip:tcp-connection-factory id="tcpServerFactory"
    type="server"
    port="9000"
    single-use="true"
    so-timeout="10000"
    using-nio="false" 
    serializer="connectionSerializeDeserialize"
    deserializer="connectionSerializeDeserialize"
    task-executor="taskExecutor"
    />

<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
    <property name="corePoolSize" value="5" />
    <property name="maxPoolSize" value="100" />
    <property name="queueCapacity" value="25" />
</bean>
<bean id="connectionSerializeDeserialize" class="org.springframework.integration.ip.tcp.serializer.ByteArrayStxEtxSerializer"/>

<int-ip:tcp-inbound-gateway id="gatewayStxEtx"
    connection-factory="tcpServerFactory"
    request-channel="requestChannel"
    error-channel="tcpErrorChannel"
    reply-timeout="10000"
    />  

如果收到格式正确的消息(STX和ETX之间的数据),我的客户端会发送ACK。如果接收数据有任何错误,它将发送NAK。在Tcp服务器上,我需要读取客户端发送的ACK / NAK。如果客户端发送ACK,那么服务器不需要做任何事情。如果客户端发送NAK,则服务器需要将数据重新发送回客户端。

是否有任何序列化器在spring集成中处理ACK / NAK? 如果没有,请建议在何处以及如何处理ACK / NAK?

由于

0 个答案:

没有答案