2

クライアントモードを使用してWebSphereMQQueueManagerに接続しようとする以下のコードを実行するとMQJMS2005例外が発生しました

MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
cf.setPort(port);
cf.setHostName(host);
cf.setChannel(channel);
cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
cf.setQueueManager(queuemanager);

conn = (MQQueueConnection)cf.createQueueConnection();

私はcom.ibm.mq.jar、com.ibm.mqjms.jar、dhbcore.jar、jmscommon.jar、j2ee.jarを使用しています。

別のホスト/ポート/チャネル/キューマネージャー/キューに接続するときに同じコードが別のマシンで正常に機能する可能性があるため、これはアクセス許可に関連するものである可能性があると思います

スタックトレースは次のとおりです。

javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for 'host:queuemanager'
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:644)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2591)
at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1936)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:161)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:206)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:126)
at MQTest.init(MQTest.java:51)

コードを正常に実行できるように、これをトラブルシューティングするにはどうすればよいですか?

4

3 に答える 3

3

これは、SSP-FLOW.VERICHECK_HOST_NAME = 113.130.234.174 のような MQ クライアント情報を構成している .binding ファイルまたは DEV-WEST ファイルで問題が発生した場合の例外です。つまり、これらすべての領域を確認してください。来るならどの例外にも。

于 2012-12-08T12:28:09.367 に答える
0

私は同じ問題に遭遇しました。これは、チャネルがないか、MQ Queuemanager xml または Websphere MQ インストールの設定に関係しています。これは役立つかもしれません。

于 2012-02-02T12:03:16.963 に答える
0

後で、許可の問題が原因であることがわかりました。クライアント モードを使用して MQ に接続する場合、許可されたクライアント IP などの権限設定を使用して MQ を構成できます。私の前のケースでは、マシンは許可リストに追加されていません。

実際に正常に動作している他のアプリは、クライアントモードではなくバインドモードを使用しています。そのため、1 つの許可されたユーザー ID にバインドされます。

于 2012-02-03T01:46:12.543 に答える