在ActiveMq中将JSON消息转换为javax.jms.ObjectMessage

在ActiveMq中将JSON消息转换为javax.jms.ObjectMessage,java,node.js,activemq,Java,Node.js,Activemq,我有一个ActimeMQ消费者,它希望消息采用javax.jms.ObjectMessage格式。 此消息pojo有5个字符串元素 现在,我正试图在NodeJs中为这个消费者编写一个消息生成器。 我正在使用模块 我当前的NodeJs代码是 stompit.connect(connectOptions, function(error, client) { if (error) { console.log('connect error ' + error.message); ret

我有一个ActimeMQ消费者,它希望消息采用javax.jms.ObjectMessage格式。 此消息pojo有5个字符串元素

现在,我正试图在NodeJs中为这个消费者编写一个消息生成器。 我正在使用模块

我当前的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上读到这篇文章,上面说

目前,ActiveMQ附带了一个转换器,可以将XML/JSON文本转换为Java对象,但您也可以添加自己的转换器

我不太理解这部分关于如何转换数据的内容

我在apache-activemq-5.15.0\lib中添加了xstream-1.4.10.jar和抛弃-1.3.8.jar,并重新启动了activemq服务器。 但我仍然得到消费者的错误。 同样在ActiveMQ控制台->队列->消息属性中,它显示转换错误


请告诉我如何将此ActiveMQTextMessage类型转换为javax.jms.ObjectMessage,然后再将其发送到消费者

ActiveMQ中没有将任何随机JSON字符串转换为ObjectMessages的转换器,您必须编写自己的来处理发送的任何格式。ActiveMQ中的转换器将转换从JSON映射的一些基本类型,但这很棘手,不一定可靠。您最好自己处理文本消息并使用JSON做一些有意义的事情

ActiveMQ中没有将任何随机JSON字符串转换为和ObjectMessages的转换器,您必须编写自己的转换器来处理发送的任何格式。ActiveMQ中的转换器将转换从JSON映射的一些基本类型,但这很棘手,不一定可靠。您最好自己处理文本消息并使用JSON做一些有意义的事情

ActiveMQTextMessage和ObjectMessage不同,它们不能相互强制转换


从ActiveMQTextMessage中,您可以以字符串形式获取真正的消息内容,然后您必须自己将其转换为json对象。

ActiveMQTextMessage和ObjectMessage不同,它们不能相互转换


从ActiveMQTextMessage中,您可以以字符串形式获取真正的消息内容,然后您必须自己将其转换为json对象。

此转换“jms对象json”的作用是什么?在ActiveMQ网站中,“ActiveMQ附带了一个可以将XML/JSON文本转换为Java对象的转换器”这句话是什么意思?那么这个转换“jms对象JSON”的作用是什么呢?在ActiveMQ网站中,“ActiveMQ附带了一个可以将XML/JSON文本转换为Java对象的转换器”这句话是什么意思?