【发布时间】:2017-04-04 18:47:04
【问题描述】:
我正在使用 Websphere MQ 并使用 Spring 集成和 jms 适配器从队列中读取消息。
当我手动将消息添加到队列时,应用程序正在读取它们并将数据作为String 读取,一切都很好。
但是,当外部方将消息添加到队列时,应用程序会将它们作为字节数组读取,然后抛出此异常:
Caused by: java.lang.ClassCastException: [B cannot be cast to java.lang.String
消息在 MQExplorer 中对我来说是一样的。
虽然我注意到一个格式列,其中作为字符串处理的消息具有值MQSTR,而作为字节[] 处理的消息在其中没有任何内容。这可能有关系吗?如果有任何想法如何设置消息的“格式”?
有人知道是什么决定了消息的有效负载内容类型,这样我至少可以重新创建问题吗?
【问题讨论】:
-
您使用的是什么版本的 Websphere MQ?
-
@JoseChavez 我认为是 7.0.1,但这只是基于 MQ Explorer,还有其他方法可以找出答案吗? (我无权访问队列正在运行的盒子)
-
您可能需要询问您的系统管理员。但我在下面提供了答案。