线程" main"中的例外情况com.ibm.msg.client.jms.DetailedMessageEOFException:JMSCC0065:尝试读取超出消息末尾的内容

时间:2017-12-02 15:35:50

标签: jms ibm-mq spring-jms

我试图从WebSphere MQ读取消息,并且我一直得到以下异常。有人可以帮助我,为什么会发生这种异常,以及正确的阅读方式。

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来帮助我将读取的数据转换为。

1 个答案:

答案 0 :(得分:0)

我无法说出异常,但如果消息是TextMessage ...

String message = (String) template.receiveAndConvert(queue);

...如果是BytesMessage ...

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