我们有两个Java应用程序通过solace-mq相互通信。 Component-1使用JMS Publisher将JSON消息写入队列。 Component-2正在使用本机Solace消费者来使用它们。
问题是,在JSON打开花括号之前,消息Component-2收到的消息在消息开头有无效字符。这是为什么?还有其他人遇到过这个问题吗?
仅供参考我们使用的客户是sol-jcsmp-7.1.2.230
答案 0 :(得分:0)
您发送什么类型的JMS消息以及如何设置有效负载?您如何在消费者应用程序中提取有效负载?
根据您在JMS应用程序中创建的消息类型,当通过Solace本机Java API接收时,有效负载可能编码在消息的不同部分。对于JMS sudo
,它将位于消息的XML内容部分中(除非您将JMS连接工厂设置sudo pip install tensorflow
设置为false)并且对于JMS TextMessage
它将在信息的二进制部分。
要在开放API和协议之间交换消息时正确提取有效负载,请在消息中执行以下操作,接收回调text-msg-xml-payload
方法:
BytesMessage
如果从Solace本机API发送到JMS消费者应用程序,请参阅以下文档:https://docs.solace.com/Solace-JMS-API/Creating-JMS-Compatible-Msgs.htm。