IBM Worklight - 用于向TIBCO EMS发送消息的JMS适配器

时间:2014-04-24 06:57:21

标签: jms ibm-mobilefirst worklight-adapters

我在BIDV工作,BIDV是IBM在越南的大客户。

我正在开发一个JMS适配器来向TIBCO EMS发送消息。当我在Eclipse中调用过程时,会发生以下错误:

  

类com.worklight.adapters.jms.JMSConnectionManager $ JMSSession可以   不能访问类com.tibco.tibjms.TibjmsxSessionImp的成员   修饰符" public"。

有人可以帮忙吗?

完整日志如下:

  

[错误] FWLSE0099E:调用过程时发生错误   [project BIDVMobile] JMSTransfer / JMSProducerFWLSE0100E:参数:   [project BIDVMobile]无法创建消息   :java.lang.IllegalAccessException:Class   com.worklight.adapters.jms.JMSConnectionManager $ JMSSession不能   访问类com.tibco.tibjms.TibjmsxSessionImp的成员   修饰符" public" FWLSE0101E:引起:[项目   BIDVMobile] nulljava.lang.RuntimeException:无法创建消息   :java.lang.IllegalAccessException:Class   com.worklight.adapters.jms.JMSConnectionManager $ JMSSession不能   访问类com.tibco.tibjms.TibjmsxSessionImp的成员   修饰符" public"在   com.worklight.adapters.jms.JMSConnectionManager $ JMSSession.createMessage(JMSConnectionManager.java:476)     在   com.worklight.adapters.jms.JMSSynchronousProducer.putMessage(JMSSynchronousProducer.java:54)     在   com.worklight.adapters.jms.JMSSynchronousProducer.invoke(JMSSynchronousProducer.java:49)     在   com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57)     在   com.worklight.integration.model.Procedure.invoke(Procedure.java:166)     在   com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169)     在   com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38)     在java.util.concurrent.FutureTask.run(未知来源)at   com.worklight.integration.model.InvocationContext $ DirectExecutorService.execute(InvocationContext.java:284)     在java.util.concurrent.AbstractExecutorService.submit(未知   来源)at   com.worklight.integration.model.InvocationContext.submit(InvocationContext.java:138)     在   com.worklight.integration.model.InvocationContextManager.submitInvocation(InvocationContextManager.java:58)     在   com.worklight.integration.services.impl.DataAccessServiceImpl.callProcedure(DataAccessServiceImpl.java:497)     在   com.worklight.integration.services.impl.DataAccessServiceImpl.access $ 100(DataAccessServiceImpl.java:56)     在   com.worklight.integration.services.impl.DataAccessServiceImpl $ 4.execute(DataAccessServiceImpl.java:392)     在   com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76)     在   com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:389)     在   com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedure(DataAccessServiceImpl.java:456)     在   com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedure(DataAccessServiceImpl.java:432)     在   com.worklight.integration.js.JavaScriptIntegrationLibraryImplementation.invokeDynamicProcedure(JavaScriptIntegrationLibraryImplementation.java:126)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)at   sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)at   java.lang.reflect.Method.invoke(未知来源)at   org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)at   org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)     在   org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)     在   org.mozilla.javascript.gen._integration_js_24._c_anonymous_23(/integration.js:248)     在   org.mozilla.javascript.gen._integration_js_24.call(/integration.js)     在   org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)     在   org.mozilla.javascript.gen.H_3A_5Ckhanhpt_worklight_space2_5CBIDVMobile_5Cadapters_5CJMSTransfer_JMSTransfer_impl_js_29._c_writeMessage_1(H%3A%5Ckhanhpt_worklight_space2%5CBIDVMobile%5Cadapters%5CJMSTransfer / JMSTransfer-impl.js:15)     在   org.mozilla.javascript.gen.H_3A_5Ckhanhpt_worklight_space2_5CBIDVMobile_5Cadapters_5CJMSTransfer_JMSTransfer_impl_js_29.call(H%3A%5Ckhanhpt_worklight_space2%5CBIDVMobile%5Cadapters%5CJMSTransfer / JMSTransfer-impl.js)     在   org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)     在   org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)     在   org.mozilla.javascript.gen.H_3A_5Ckhanhpt_worklight_space2_5CBIDVMobile_5Cadapters_5CJMSTransfer_JMSTransfer_impl_js_29.call(H%3A%5Ckhanhpt_worklight_space2%5CBIDVMobile%5Cadapters%5CJMSTransfer / JMSTransfer-impl.js)     在   com.worklight.integration.js.JavaScriptManager.callFunction(JavaScriptManager.java:240)     在   com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:214)     在   com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:194)     在   com.worklight.integration.services.impl.AdapterManagerImpl.invokeFunction(AdapterManagerImpl.java:104)     在   com.worklight.integration.js.JavaScriptProcedureInvoker.invoke(JavaScriptProcedureInvoker.java:42)     在   com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57)     在   com.worklight.integration.model.Procedure.invoke(Procedure.java:166)     在   com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169)     在   com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38)     在java.util.concurrent.FutureTask.run(未知来源)at   java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)at   java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)at   com.worklight.server.util.ProjectLocal $ 1RunnableWrapper.run(ProjectLocal.java:267)     在java.lang.Thread.run(未知来源)

3 个答案:

答案 0 :(得分:1)

我想在Tibco EMS中,JMS Session实现类公开了这个方法: createTextMessage(...)作为受保护或私有。 Worklight使用Java反射来创建和发送消息。 它调用了几种方法,例如: createTextMessage,setJMSReplyTo,setJMSCorrelationID等...... 你能附上Tibco EMS客户Jar吗?

答案 1 :(得分:1)

您能说明您如何连接到TIBCO EMS吗? 这是代码还是配置?

正如你所说,你为BIDV工作,我可能会在下一次向你指出合适的人;)

干杯        SEB

答案 2 :(得分:0)

我们遇到了类似的问题,在WAS上运行Worklight服务器,在WAS上配置JMS资源并指向WebSphere MQ。我们通过在WAS上添加服务集成总线和队列来解决问题,以便消息首先进入WAS SIB上的队列,然后从那里到MQ。