MQJE018: ошибка протокола - получен неожиданный тип сегмента - PullRequest
4 голосов
/ 06 мая 2009

Вызов всех гуру MQ,

У меня под столом есть коробка, которую мы используем для копирования нашей производственной среды:

WebSphere 6.1 Fedora Linux MQ 6,0

Всякий раз, когда одно из наших приложений пытается отправить сообщение в очередь MQ, мы получаем следующую ошибку: MQJE018: ошибка протокола - получен неожиданный тип сегмента

Любые предложения о том, что это может означать, будут оценены, следы стека приведены ниже.

Dump of callerThis =
Object type = com.ibm.ejs.jms.listener.MDBListenerImpl
com.ibm.ejs.jms.listener.MDBListenerImpl@744c744c

==> Performing default dump from com.ibm.ejs.jms.JMSDiagnosticModule  = Wed May 06 13:09:58 BST 2009
Dump of callerThis =
Object type = com.ibm.ejs.jms.listener.MDBListenerImpl
com.ibm.ejs.jms.listener.MDBListenerImpl@744c744c

Linked exception = com.ibm.mq.MQException: MQJE001: An MQException occurred: Completion Code 2, Reason 2195
MQJE018: Protocol error - unexpected segment type received
        at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:238)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:318)
        at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:338)
        at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:84)
        at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:168)
        at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:774)
        at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:690)
        at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:646)
        at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:153)
        at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:544)
        at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:69)
        at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2401)
        at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:1783)
        at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:110)
        at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:67)
        at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:57)
        at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:80)

РЕДАКТИРОВАТЬ: я посмотрел коды причины в документации IBM, которая мало помогает

2195 (X'0893')
MQRC_UNEXPECTED_ERROR
Explanation:

The call was rejected because an unexpected error occurred.
Completion Code:

MQCC_FAILED
Programmer Response:

Check the application's parameter list to ensure, for example, that the correct number of parameters was passed, and that data pointers and storage keys are valid. If the problem cannot be resolved, contact your system programmer.

    * On z/OS, check whether any information has been displayed on the console. If this error occurs on an MQCONN or MQCONNX call, check that the subsystem named is an active MQ subsystem. In particular, check that it is not a DB2(TM) subsystem. If the problem cannot be resolved, rerun the application with a CSQSNAP DD card (if you have not already got a dump) and send the resulting dump to IBM.
    * On OS/2 and i5/OS, consult the FFST record to obtain more detail about the problem.
    * On HP OpenVMS, Compaq NonStop Kernel, and UNIX systems, consult the FDC file to obtain more detail about the problem.

1 Ответ

2 голосов
/ 09 июня 2009

ОК, наконец-то удалось обойти эту ошибку. Это не имело ничего общего с установкой MQ самостоятельно. Я знал, что это какая-то проблема с сетью, поэтому я изменил настройки имени хоста в websphere с имени хоста на ip коробки, и все работало нормально.

Обратите внимание, что я внес изменения имени хоста в очереди и на фабрики соединений очереди.

Надеюсь, это кому-нибудь поможет.

Karl

...