0

Websphere MQ Provider で worklight jms adpater を使用しようとしています。実行する手順: WMQ V7.0 エクスプローラーで、JMS 管理対象オブジェクトを右クリック -> 初期コンテキストの追加 -> ファイル システムの選択 -> バインディング ディレクトリ (C:/JNDI_Directory) に名前を付けます -> コンテキストのニックネームを付けます (file:/C: /JNDI_Directory/) をクリックし、[完了] をクリックします。

In connectionFactory, the context nickname will be set as file:/C:/JNDI_Directory/ -> then click on New -> Gave connection factory name (JMSConnectionFactory)
and select messaging provider as, Websphere MQ -> select the connection factory -> select transport as MQ Client -> 
Select base queue manager(JMS_QMGR) and connection list(localhost(2525)) in the connection tab.

In Destination -> new -> Destination -> enter the name of destination(JMSDestination) and type of queue -> select Queue Manager and queue in general tab

In Worklight creating worklight project name as TestJMSAdapter and created a jms adapter(JMSAdapter), configured the following in JMSAdapter.xml file.


<namingConnection url="file:/C:/JNDI_Directory/"  initialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"/>

<jmsConnection connectionFactory="JMSConnectionFactory" />

In JMSAdapter-impl.js, configure the destination as follows,
readMessage(){
           return WL.Server.readSingleJMSMessage({
                                        destination: "JMSDestination",
                                        timeout: 60
                                        });
                     }

/WebSphere MQ/java/lib からすべての jar を取得し、次の jar を lib フォルダーに追加しました。

/TestJMSAdapter/server/lib/com.ibm.mq.commonservices.jar
/TestJMSAdapter/server/lib/com.ibm.mq.headers.jar
/TestJMSAdapter/server/lib/com.ibm.mq.jar
/TestJMSAdapter/server/lib/com.ibm.mq.jmqi.jar
/TestJMSAdapter/server/lib/com.ibm.mq.jms.Nojndi.jar
/TestJMSAdapter/server/lib/com.ibm.mqjms.jar
/TestJMSAdapter/server/lib/dhbcore.jar
/TestJMSAdapter/server/lib/fscontext.jar
/TestJMSAdapter/server/lib/jms.jar
/TestJMSAdapter/server/lib/jndi.jar
/TestJMSAdapter/server/lib/providerutil.jar

私は worklight v6 を使用しており、(WebSphere Application Server V8.5 Liberty)Worklight Development Server にデプロイされています。

プロシージャの呼び出し中に、次のエラーが表示されます。

Worklight Development Server コンソールのエラーは、

[ERROR ] FWLSE0005W: JMS connection exception received: com.ibm.mq.jms.MQConnectionFactory cannot be cast to javax.jms.ConnectionFactory. Closing the connection. [project TestJMSAdapter]

私を助けてください。

4

1 に答える 1

0

表示されているエラーは、通常、プロジェクトに追加された不適切な jar が原因です。

次の 2 つのオプションがあります。

  • 削除する必要がある jar ファイルを見つけます。

問題の原因となっているjarは「jms.jar」ファイルだと思います。そのファイルを削除して、再試行してください。

  • Worklight の最新バージョンにアップグレードします。

ワークライトの最新バージョンでは、すべてのクラスローディングの問題が修正されているため、含まれている jar に関係なく、ワークライトは引き続き機能するはずです。

于 2013-11-14T14:51:05.350 に答える