“线程中的异常”;“主要”;com.ibm.msg.client.jms.DetailedMessageOfException:JMSCC0065:试图读取超出消息结尾的内容

“线程中的异常”;“主要”;com.ibm.msg.client.jms.DetailedMessageOfException:JMSCC0065:试图读取超出消息结尾的内容,jms,ibm-mq,spring-jms,Jms,Ibm Mq,Spring Jms,我正在尝试从WebSphereMQ读取消息,并且不断得到以下异常。有人能告诉我为什么会发生这种异常,以及正确的阅读方式吗 public String readMessage() throws JMSException { String message = null; Message msg = getJmsTemplate().receive(getGetQueue()); if (msg instanceof BytesMessage) { messa

我正在尝试从WebSphereMQ读取消息,并且不断得到以下异常。有人能告诉我为什么会发生这种异常,以及正确的阅读方式吗

public String readMessage() throws JMSException {

    String message = null;
    Message msg = getJmsTemplate().receive(getGetQueue());
    if (msg instanceof BytesMessage) {
        message = ((BytesMessage) msg).readUTF();
    }
    System.out.println("from readMessage() method" + message);
    return message;
}

有人能帮我把通过调用recieve()读取的数据转换成字符串吗。

我不能对异常说话,但是如果消息是
文本消息

String message = (String) template.receiveAndConvert(queue);
String message = new String((byte[]) template.receiveAndConvert(queue));
…如果是
字节消息

String message = (String) template.receiveAndConvert(queue);
String message = new String((byte[]) template.receiveAndConvert(queue));