Hello, My route is as follows: from("jms:topic:T.INPUT?disableReplyTo=false") .process(requestProcessor) .unmarshal().json(JsonLibrary.Jackson, MyRequest.class) .split(messageSplitter) .process(restProcessor) .unmarshal().json(JsonLibrary.Jackson, MyResponse.class) .aggregate(messagesAggregator) .process(responseProcessor) .to("jms:topic:recipientTopic");
If I set disableReplyTo=true and convert JMSReplyTo into CamelJmsDestinationName, I get the expected result: process the request and send the response to the output topic. But I cannot comprehend why would I need to disable reply to, when in fact I want to utilise it. Currently, when disableReplyTo is set to false, I will end up a gibberish message on the output topic, which cannot be parsed and throws an exception "ClassNotFoundException: (package name).MyRequest" - it seems that camel utilises JMSReplyTo between the first unmarshal() and split(), which is unwanted as the message processing is incomplete. Is this a bug? Is this explicitly documented somewhere? Am I doing something wrong? Are there too many steps in the route? Can anyone explain? Kind regards.