我有一個ActimeMQ使用者,它需要javax.jms.ObjectMessage格式的消息。 此消息pojo有5個字符串元素。將JSON消息轉換爲ActiveMq中的javax.jms.ObjectMessage
現在我正在嘗試在NodeJs中爲此使用者編寫消息生產者。 我使用stompit模塊
我當前的代碼的NodeJS是
stompit.connect(connectOptions, function(error, client) {
if (error) {
console.log('connect error ' + error.message);
return;
} else {
console.log("connected");
}
var sendHeaders = {
'destination': '/queue/test',
'transformation': 'jms-object-json'
};
var msg = new Object();
msg.val1 = "12";
msg.val2 = "test";
msg.val3 = "1";
msg.val4 = "1";
msg.val5 = "Y";
var frame = client.send(sendHeaders);
frame.write(JSON.stringify(msg));
frame.end();
}); Java的消費者能夠得到的消息卻引發異常
org.apache.activemq.command.ActiveMQTextMessage不能轉換到javax.jms.ObjectMessage
我從ActiveMQ的閱讀page它說,
目前的ActiveMQ附帶了可轉換XML/JSON文本到Java對象的變壓器,但你可以添加自己的變壓器以及
我不太瞭解如何轉換數據的這部分。
我在apache-activemq-5.15.0 \ lib中添加了xstream-1.4.10.jar和jettison-1.3.8.jar並重新啓動了ActiveMq服務器。 但我仍然在消費者中遇到錯誤。 此外,在控制檯的ActiveMQ - >隊列 - >郵件屬性,它顯示了轉型錯誤
請讓我知道我可以在到達消費者之前
這個轉換'jms-object-json'做了什麼呢?在activemq網站中,「ActiveMQ帶有一個可以將XML/JSON文本轉換爲Java對象的轉換器」的含義是什麼意思? – Sravan