我想向JMS队列发送消息,并且想设置一个对象属性:
tMessage.setObjectProperty("JMS_IBM_MQMD_MsgId", bytes); //bytes is a byte array value
但是我在这一行遇到了一个例外:
tMessage.setObjectProperty("JMS_IBM_MQMD_MsgId", toByteArray((phone+"IBM").toCharArray()));
为什么不能将字节数组设置为此属性?我看到了一些示例,每个人都设置了字节数组,但是却出现异常:
weblogic.jms.common.MessageFormatException: [JMSClientExceptions:055123]Invalid property value, [B@48647dd0
为什么?谢谢!
最佳答案
对于setObjectProperty:
setObjectProperty方法接受Boolean,Byte,
短,整数,长,浮点,双精度和字符串。尝试使用任何
其他类必须抛出JMSException。
因此它不接受ByteArray
。setObjectProperty
接受Object
,因此不会出现编译错误。