Worklight JMS适配器问题

时间:2013-11-14 13:15:23

标签: ibm-mobilefirst worklight-adapters

我正在尝试将worklight jms adpater与Websphere MQ Provider一起使用。 遵循的步骤:     在WMQ V7.0 Explorer中,右键单击JMS Administered Objects - >添加初始背景 - >选择     文件系统 - >在Bindings目录中输入名称(C:/ JNDI_Directory) - >给     上下文昵称(文件:/ 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,在lib文件夹中添加以下jar:

/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]

请帮帮我。

1 个答案:

答案 0 :(得分:0)

您看到的错误通常是由于将错误的jar添加到您的项目中引起的。

您有两种选择:

  • 找出需要移除的罐子。

我认为造成问题的jar是“jms.jar”文件。删除该文件,然后重试。

  • 升级到最新版本的Worklight。

所有类加载问题都已在最新版本的worklight中修复,因此无论包含哪些jar,它都应该可以正常工作。