我试图从使用骆驼路由的队列读取消息并将其发送给消息监听器的bean,但它以异常结束。难道我做错了什么。在ActiveMQ的如何在骆驼路由中读取消息形式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示例:https://github.com/apache/camel/tree/master/examples#examples并阅读/学习JMS消息传递/骆驼如此多。错误是关于通过JMS使用Java对象,这是BAD设计要做的。 –
非常感谢@ClausIbsen。我一定会考虑这个...... –