我試圖從使用駱駝路由的隊列讀取消息並將其發送給消息監聽器的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。我一定會考慮這個...... –