非常に標準的なメカニズムでメッセージをリモート JMS キューに発行しようとしています。
TopicConnection tc = null;
TopicSession ts = null;
TopicPublisher tp = null;
Properties p = new Properties();
String providerUrl = "iiop://servername:9810";
String contextFactory = "com.ibm.websphere.naming.WsnInitialContextFactory".trim();
p.put(javax.naming.Context.PROVIDER_URL, providerUrl );
p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, contextFactory );
InitialContext ct = new InitialContext(p);
{
Topic topic = (Topic)ct.lookup( "jms/customer_event" );
TopicConnectionFactory tcf = (TopicConnectionFactory)ct.lookup( "jms/TopicFactory2" );
tc = tcf.createTopicConnection();
....
..
..
}
現在、Topic および TopicConnectionFactory ルックアップは問題ありませんが、 になるとtcf.createTopicConnection()
、次のようにスローされます。
javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for 'servername:QMGR1'
Inner exception(s):
com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2059
java.net.ConnectException: Connection refused: connect
MQ エクスプローラーを開きましたが、トピックはリモート キュー マネージャーに存在します。TopicCoonectionFactoryTopicFactory2
もキュー マネージャーに存在するはずですか? そうではないからです。エラーの原因は何ですか?