2011-05-29 40 views
1

我正在使用MQ v。6.x. 通常我可以發送和接收消息就好了。但是,對於某些消息,我收到了'MQJE046:不支持的代碼集'異常。 它似乎與大小有關,因爲我可以用長度大於32218字節的字符0-9組成的消息重現問題。MQ未能發送消息 - MQJE046:不支持的代碼集

javax.jms.JMSException: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: com.ibm.mqservices.MQInternalException: MQJE001: An MQException occurred: Completion Code 2, Reason 2195 
    MQJE046: Unsupported codeset : 0 
        at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:586) 
        at com.ibm.mq.jms.MQMessageProducer.sendInternal(MQMessageProducer.java:1693) 
        at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1056) 

回答

0

這是一個多線程的應用程序? MQTopicPublisher或MQQueueSender不能在線程之間共享,並且此消息可能因線程之間共享此對象而引起。

參考this mqseries.net thread

+0

實現是線程安全的,當有一個單獨的線程 – erezul 2011-05-29 19:38:44

+0

爲什麼代碼集0這種情況發生在測試條件? – oluies 2011-05-29 19:41:08

+0

那麼,我沒有明確地設置它......應該設置它?對於大多數消息來說,沒有問題,只有足夠大的消息... – erezul 2011-05-29 20:37:10