4

すべての MQ 達人に呼びかけます。

デスクの下に、次のような本番環境を複製するために使用するボックスがあります。

WebSphere 6.1 フェドラ Linux MQ 6.0

アプリケーションの 1 つが 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)

EDIT:私は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.
4

1 に答える 1

2

OK、ようやくこのエラーを回避できました。MQ 自体のインストールとは何の関係もありませんでした。ある種のネットワークの問題であることはわかっていたので、websphere 内のホスト名の設定をホスト名からボックスの IP に変更したところ、すべて正常に機能しました。

キューとキュー接続ファクトリでホスト名を変更したことに注意してください。

それが誰かを助けることを願っています。

カール

于 2009-06-09T13:55:25.920 に答える