Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JMS代理以null形式接收消息 我有一个C++组件,它通过使用Actvestq通过TCP传递消息到JMS代理。我的代理是用JAVA编写的。我想让这两个人交流;向C++组件发送消息给java代理。 在C++方面,我所做的是创建一个消息(使用协议缓冲区),将其转换为字节的向量并传递给代理。在JAVA端(代理),我不断地监听并处理收到的消息 现在,我可以知道系统在某种程度上起作用,因为当我执行C++组件(当它通过消息时),我看到我的java代理打印一个错误消息:< C++ >代码>意外错误:我从C++组件发送的每一条消息中都有空。这意味着至少我的消息到达了代理,但不知何故它们无法被解密,因此出现了空问题 我使用以下方法编写C++消息: // convert pointmsg to byte int size = pointmsg.ByteSize(); char* byteArray = new char[size]; pointmsg.SerializeToArray(byteArray, size); // convert bytearray to vector vector<unsigned char> v(byteArray, byteArray + sizeof byteArray / sizeof byteArray[0]); // pass as a vector BytesMessage *message = session->createBytesMessage(); message->writeBytes(v); producer->send(message); printf("Sent message #%d from thread %s\n", ix + 1, threadIdStr.c_str());_Jms_Activemq_Broker - Fatal编程技术网

JMS代理以null形式接收消息 我有一个C++组件,它通过使用Actvestq通过TCP传递消息到JMS代理。我的代理是用JAVA编写的。我想让这两个人交流;向C++组件发送消息给java代理。 在C++方面,我所做的是创建一个消息(使用协议缓冲区),将其转换为字节的向量并传递给代理。在JAVA端(代理),我不断地监听并处理收到的消息 现在,我可以知道系统在某种程度上起作用,因为当我执行C++组件(当它通过消息时),我看到我的java代理打印一个错误消息:< C++ >代码>意外错误:我从C++组件发送的每一条消息中都有空。这意味着至少我的消息到达了代理,但不知何故它们无法被解密,因此出现了空问题 我使用以下方法编写C++消息: // convert pointmsg to byte int size = pointmsg.ByteSize(); char* byteArray = new char[size]; pointmsg.SerializeToArray(byteArray, size); // convert bytearray to vector vector<unsigned char> v(byteArray, byteArray + sizeof byteArray / sizeof byteArray[0]); // pass as a vector BytesMessage *message = session->createBytesMessage(); message->writeBytes(v); producer->send(message); printf("Sent message #%d from thread %s\n", ix + 1, threadIdStr.c_str());

JMS代理以null形式接收消息 我有一个C++组件,它通过使用Actvestq通过TCP传递消息到JMS代理。我的代理是用JAVA编写的。我想让这两个人交流;向C++组件发送消息给java代理。 在C++方面,我所做的是创建一个消息(使用协议缓冲区),将其转换为字节的向量并传递给代理。在JAVA端(代理),我不断地监听并处理收到的消息 现在,我可以知道系统在某种程度上起作用,因为当我执行C++组件(当它通过消息时),我看到我的java代理打印一个错误消息:< C++ >代码>意外错误:我从C++组件发送的每一条消息中都有空。这意味着至少我的消息到达了代理,但不知何故它们无法被解密,因此出现了空问题 我使用以下方法编写C++消息: // convert pointmsg to byte int size = pointmsg.ByteSize(); char* byteArray = new char[size]; pointmsg.SerializeToArray(byteArray, size); // convert bytearray to vector vector<unsigned char> v(byteArray, byteArray + sizeof byteArray / sizeof byteArray[0]); // pass as a vector BytesMessage *message = session->createBytesMessage(); message->writeBytes(v); producer->send(message); printf("Sent message #%d from thread %s\n", ix + 1, threadIdStr.c_str());,jms,activemq,broker,Jms,Activemq,Broker,当我调试它时,我可以看到msgType和topic变量(在JMS端)是空的,这意味着activemq消息不知何故没有被解密。原因可能是什么?我可以看到消息正在发送、接收,但未被理解 有什么想法吗 Update:我注意到我希望在JMS侧得到StrugEffice,而不是在C++侧设置,但是我不确定它是否引起了问题。P> < P> OK,看来错误与SET属性有关, MsgType 和主题,我在C++侧使用所需的方法给他们提供了期望的字符串,使用 StestRunPrimeType()/Cuff>

当我调试它时,我可以看到
msgType
topic
变量(在JMS端)是空的,这意味着activemq消息不知何故没有被解密。原因可能是什么?我可以看到消息正在发送、接收,但未被理解

有什么想法吗


<强> Update:我注意到我希望在JMS侧得到StrugEffice,而不是在C++侧设置,但是我不确定它是否引起了问题。P> < P> OK,看来错误与SET属性有关, MsgType 和主题,我在C++侧使用所需的方法给他们提供了期望的字符串,使用<代码> StestRunPrimeType()/Cuff>,现在初始错误已经消失。p>

message->setStringProperty();

请您对所做的工作进行详细解释,好吗?当您说“错误与集合属性、msgType和topic有关,我给了它们预期的字符串”时,您是什么意思?。谢谢
message->setStringProperty();