将MQMessage添加到TextArea时出现java.io.EOFException

时间:2014-11-26 18:04:37

标签: java textarea ibm-mq

我正在阅读来自Websphere MQ的回复消息。 阅读邮件不是问题。当我想将消息的内容添加到textArea但我得到一个例外时,问题出现了:

java.io.EOFException: MQJE086: End of file exception ('MQMessage.readString()').
    at com.ibm.mq.MQMessage.readStringOfByteLength(MQMessage.java:1204)
    at mq.MqWriter.doInBackground(MqWriter.java:294)
    at mq.MqWriter.doInBackground(MqWriter.java:1)
    at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at javax.swing.SwingWorker.run(SwingWorker.java:334)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

这是我想要将MQMessaget的内容添加到TextArea的代码:

panelMq.getPanelMqOutput().getTxtaMqOutput().
setText(replyGetMQMessage.readStringOfByteLength(replyGetMQMessage.getMessageLength()));

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

readstringofByteLength从消息中读取提供的字节的数量,并转换为(Unicode)字符串。您必须将EOF作为传入的字节数,因为参数不会从读取开始的消息中的位置保留。