【发布时间】:2017-06-05 22:10:02
【问题描述】:
我正在尝试使用骆驼路由从队列中读取消息并将其发送到消息侦听器的 bean,但它以异常结束。难道我做错了什么。 我在activemq中序列化了对象
<bean class="com.herman.cxf.incident.ReportIncidentRequestConsumer"
id="requestConsumer" />
<camelContext id="camelContext-32616f27-d786-4ed8-9f75-2d208cd14b40"
trace="false" xmlns="http://camel.apache.org/schema/blueprint">
<route id="report_amq">
<from uri="activemq:queue:INCIDENT_REQUEST" />
<to uri="bean:requestConsumer" />
</route>
</camelContext>
消息监听类:
public class ReportIncidentRequestConsumer implements MessageListener {
Logger _log = Logger.getLogger(ReportIncidentRequestConsumer.class);
@Override
public void onMessage(Message arg0) {
_log.info("================== IM HERE IN REQUEST CONSUMER ===============");
}
}
例外: 原因:javax.jms.JMSException:无法从内容构建正文。代理无法使用可序列化的类。原因:java.lang.ClassNotFoundException:禁止类 org.apache.cxf.message.MessageContentsList!不信任此类被序列化为 ObjectMessage 有效负载。
【问题讨论】:
-
查看消息传递/JMS 示例:github.com/apache/camel/tree/master/examples#examples 并阅读/研究 JMS 消息传递/Camel 等等。错误是关于在 JMS 上使用 Java 对象,这是不好的设计。
-
非常感谢@ClausIbsen。我一定会调查这个...
标签: apache-camel jms activemq