我正在使用 activemq 组件来发送/接收消息,但是当我 split() body() 时,我得到了以下异常。我使用的是骆驼 2.23.0 版本。有人可以建议什么问题吗?
这是导致此问题的路由示例:
from("activemq:queue:aaa")
.process("myprocessor")
.split().body()
.to("activemq:queue:bbb")
如果我使用这种方式,我没有问题:
from("activemq:queue:aaa")
.process("myprocessor")
在 MyProcessor 内部,
process(Exchange exchange) {
for (String body : exchange.getIn().getBody(List.class)) {
ProducerTemplate.sendBody("activemq:queue:bbb",body);
}
}
例外:
Caused by: java.lang.NoSuchMethodError: org.apache.camel.component.jms.JmsMessage.getCamelContext()Lorg/apache/camel/CamelContext;
at org.apache.camel.component.jms.JmsMessage.newInstance(JmsMessage.java:195)
at org.apache.camel.component.jms.JmsMessage.newInstance(JmsMessage.java:40)
at org.apache.camel.impl.MessageSupport.copy(MessageSupport.java:152)
at org.apache.camel.impl.DefaultExchange.copy(DefaultExchange.java:116)
at org.apache.camel.impl.DefaultExchange.copy(DefaultExchange.java:90)
at org.apache.camel.util.ExchangeHelper.createCopy(ExchangeHelper.java:301)
at org.apache.camel.processor.Splitter.copyExchangeNoAttachments(Splitter.java:291)
at org.apache.camel.processor.Splitter.access$100(Splitter.java:56)
at org.apache.camel.processor.Splitter$SplitterIterable.<init>(Splitter.java:158)
at org.apache.camel.processor.Splitter$SplitterIterable.<init>(Splitter.java:144)
at org.apache.camel.processor.Splitter.createProcessorExchangePairsIterable(Splitter.java:141)
at org.apache.camel.processor.Splitter.createProcessorExchangePairsList(Splitter.java:245)
at org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:129)
at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:241)