2016-05-09 7 views
0

Websphere MQ Explorerを使用して、JMSのinitial contextという新しいfile systemベースを作成しました。新しい初期コンテキストを使用して、既存のキューに接続するためのJMSキューを作成しました(現在は非Javaベースのフレームワークを使用してアクセスしています)。アプリケーションコード内ファイル・システム・ベースの初期コンテキストを使用したJMSキューへの接続

次のように、私は正常に、コンテキストに接続することができるが:

properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory"); 
properties.put(Context.PROVIDER_URL, "file:C://folder-name//"); 

try { 
    val ctx = new InitialContext(properties) 

次に、私はのQueueConnectionFactoryを作成する:

val qcf = (ctx.lookup("com.ibm.mq.jms.MQQueueFactory")).asInstanceOf[QueueConnectionFactory] 

しかし、これは次の例外をスロー:

javax.naming.NameNotFoundException: com.ibm.mq.jms.MQQueueFactory 
    at com.sun.jndi.fscontext.RefFSContext.getObjectFromBindings(RefFSContext.java:400) 
    at com.sun.jndi.fscontext.RefFSContext.lookupObject(RefFSContext.java:327) 
    at com.sun.jndi.fscontext.RefFSContext.lookup(RefFSContext.java:146) 
    at com.sun.jndi.fscontext.FSContext.lookup(FSContext.java:127) 
    at javax.naming.InitialContext.lookup(InitialContext.java:411) 

私は接続工場としてcom.ibm.mq.jms.MQQueueFactoryを使用しました。私は、ので.bindingsファイルで、次の行があります:

MY.QUEUE/FactoryName=com.ibm.mq.jms.MQQueueFactory 

は、しかし、それは例外をスローします。

正しい接続ファクトリ名はどこで定義されますか?解決

おかげ

+0

どのMQ jarファイルがクラスパスにありますか? –

+0

com.ibm.mqmqjms-7.5.0.2、com.ibm.mq、jmqi.7.5.0.2、com.ibm.mq.commonservices.jar.7.0.1.4 – user1052610

+0

混合および一致するMQ jarsは推奨されません(7.5.0.2 mixed 7.0.1.4)。同じリビジョンのjarファイルを使用してください。すべての方法で7.5.0.2。 –

答えて

0

問題 - (JMS管理対象オブジェクトの下)、ファイルベースのコンテキストで、接続ファクトリを定義する必要があります。

関連する問題