Apache camel Camel-netty4:如何在发送下一个请求之前等待响应

Apache camel Camel-netty4:如何在发送下一个请求之前等待响应,apache-camel,netty,Apache Camel,Netty,我已经创建了一个路由,它接受来自多个生产者的请求,并通过使用netty4和请求响应发送到远程服务器。但是,当camel向远程服务器发送请求并等待响应时,会收到下一个传入请求并希望发送到远程服务器,但由于camel无法接收响应,因此收到IOException 那么,如何设置Camel-Netty4发送请求并在下一次发送之前等待响应。 路由配置: from(“direct:DirectProcessOut?block=true”) .至(“净额4:tcp://192.168.1.2:8000?syn

我已经创建了一个路由,它接受来自多个生产者的请求,并通过使用netty4和请求响应发送到远程服务器。但是,当camel向远程服务器发送请求并等待响应时,会收到下一个传入请求并希望发送到远程服务器,但由于camel无法接收响应,因此收到IOException

那么,如何设置Camel-Netty4发送请求并在下一次发送之前等待响应。

路由配置: from(“direct:DirectProcessOut?block=true”)
.至(“净额4:tcp://192.168.1.2:8000?sync=true&synchronous=true&reuseChannel=true“

实际上,我遇到了一个类似的问题,试图根据数据库表中的行一次发送多条消息。通话不会等待对方完成,基本上是互相踩踏,要么挂断,要么爆炸

我最终找到的解决方案是使用消息队列。接收您的请求并将它们路由到单个activemq路由中

比如:

<camelContext xmlns="http://camel.apache.org/schema/blueprint">
    <route>
       <from uri="direct:direct:DirectProcessOut"/>
       <to uri="activemq://processOutQueue"/>
    </route>
</camelContext>
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
    <route>
       <from uri="activemq://processOutQueue"/>
       <to uri="netty4:tcp://192.168.1.2:8000?sync=true&amp;synchronous=true&amp;reuseChannel=true"/>
    </route>
</camelContext>

我的情况有点不同,所以我不确定这是否会保留您想要发送的消息。但希望它能给你一个开始的地方