Apache Camel: Ответ получен для неизвестного идентификатора

Eстьmiddleware между двумя другими программными компонентами. В яmiddlewareм маршрутизацииApache ActiveMQ сообщения от.Apache Camel

вот как это работает:

1stComponent использованияmiddleware отправить сообщение3rdComponent

3rdComponent отвечает на сообщение и отправляет его обратно1st(с помощьюmiddleware).

           1stComponent  Middleware  3rdComponent

Проблема: Я

м используюConcurrentConsumers в промежуточном программном обеспечении.

В середине отправки много сообщений последовательно, внезапноmiddleware останавливает весь процесс! нет никаких исключений или сообщений! например, обработаны первые 100 из 500 сообщений, а оставшиеся остаются в очереди как ожидающие сообщения.

это предупреждение записывается иногда в середине процесса:

[WARN ] TemporaryQueueReplyManager(Camel (camel-1) thread #11 - TemporaryQueueReplyManager[Q.MyQ]):91 - Reply received for unknown correlationID [c551c7aa061f501c]. The message will be ignored: ActiveMQMapMessage {commandId = 2161, responseRequired = true, messageId = ID:xxxxxxx, originalDestination = null, originalTransactionId = null, producerId = ID:xxxxxxx, destination = temp-queue://ID:localhost.localdomain-40961-1389890357282-3:1:1, transactionId = null, expiration = 0, timestamp = 1389890272360, arrival = 0, brokerInTime = 1389890272360, brokerOutTime = 1389890272360, correlationId = c551c7aa061f501c, replyTo = temp-queue://ID:localhost.localdomain-40961-1389890357282-3:1:1, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = org.apache.activemq.util.ByteSequence@19e19da, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {breadcrumbId=ID:xxxxxxxxxxxxxx, Title=300, CamelJmsDeliveryMode=1}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false} ActiveMQMapMessage{ theTable = {} }

этоmiddlewares Код:

private static class MyRouteBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("activemq:queue:Q.Middleware?concurrentConsumers=1&maxConcurrentConsumers=10")
        .threads(1, 100)
            .process(new Processor() {
                public void process(Exchange exchange) {
                    //some code
                }
            })
        .inOut("activemq2:queue:Q.3RD")
        ;
    }
}

и3rdComponent

private static class MyRouteBuilder extends RouteBuilder {
    @Override
    public void configure() {
        from("activemq:queue:Q.3RD")
        .threads(1, 100)
        .process(new Processor() {
            public void process(Exchange exchange) {
                //some code
            }
        })
        ;
    }
}

Ответы на вопрос(4)

Ваш ответ на вопрос