Я действительно столкнулся с подобной проблемой, пытаясь отправить несколько сообщений одновременно на основе строк в таблице базы данных.Звонки не дожидаются завершения друг друга, и, по сути, наступают друг на друга и либо зависают, либо взрываются.
Решение, которое я в итоге нашел, состояло в том, чтобы использовать очередь сообщений.Возьмите ваши запросы и направьте их в один маршрут 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&synchronous=true&reuseChannel=true"/>
</route>
</camelContext>
Мой случай был немного другим, поэтому я не уверен, сохранит ли это вашесообщение, которое вы хотите отправить.Но, надеюсь, это даст вам возможность начать.