我正在使用 Websphere MQ 并使用 Spring 集成和 jms 适配器从队列中读取消息。
当我手动将消息添加到队列时,应用程序正在读取它们并将数据作为 a 读取String
,一切都很好。
但是,当外部方将消息添加到队列时,应用程序会将它们作为字节数组读取,然后抛出此异常:
Caused by: java.lang.ClassCastException: [B cannot be cast to java.lang.String
这些消息在 MQExplorer 中对我来说是一样的。
虽然我注意到了一个 Format 列,其中作为字符串处理MQSTR
的消息具有值,而作为 Byte[] 处理的消息在其中没有任何内容。这可能有关系吗?如果有任何想法如何设置消息的“格式”?
有谁知道是什么决定了消息的有效负载内容类型,这样我至少可以重新创建问题?