WSO2 ESB与Tibco EMS 8.0集成的问题

WSO2 ESB与Tibco EMS 8.0集成的问题,wso2,esb,tibco-ems,tibco-business-works,Wso2,Esb,Tibco Ems,Tibco Business Works,我尝试使用Tibco EMS在WSO2 ESB上启用JMS传输 使用Tibco BW 6.3.0-将以下客户端JAR复制到{wso2esb-4.8.0}\repository\components\lib tibjms.jar、jms.jar-工作时没有任何问题 使用Tibco EMS 8.0-将以下客户端JAR复制到{wso2esb-4.8.0}\repository\components\lib tibjms.jar,jms-2.0.jar-结果异常为ClassNotFound 根据WSO2

我尝试使用Tibco EMS在WSO2 ESB上启用JMS传输

使用Tibco BW 6.3.0-将以下客户端JAR复制到
{wso2esb-4.8.0}\repository\components\lib

tibjms.jar、jms.jar
-工作时没有任何问题

使用Tibco EMS 8.0-将以下客户端JAR复制到
{wso2esb-4.8.0}\repository\components\lib

tibjms.jar,jms-2.0.jar
-结果异常为ClassNotFound

根据WSO2 ESB文档,它只支持JMS 1.1和1.0.2b规范,所以尝试了JAR的组合

i、 Tibco-6.3.0中的e.Jms.jar和Tibco 8.0中的tibjms.jar-导致与ClassNotFound相同的异常。下面是异常堆栈跟踪

NoClassDefFoundError:javax/jms/JMSContext 位于com.tibco.tibjms.naming.TibjmsContext$Messenger。(TibjmsContext.java:316) 位于com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:651) 位于com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:491) 在javax.naming.InitialContext.lookup(InitialContext.java:411) 位于org.apache.axis2.transport.jms.JMSUtils.lookup(JMSUtils.java:583) 位于org.apache.axis2.transport.jms.JMSConnectionFactory(JMSConnectionFactory.java:93) 位于org.apache.axis2.transport.jms.JMSConnectionFactoryManager.loadConnectionFactoryDefinitions(JMSConnectionFactoryManager.java:58) 位于org.apache.axis2.transport.jms.JMSConnectionFactoryManager。(JMSConnectionFactoryManager.java:45) 位于org.apache.axis2.transport.jms.JMSSender.init(JMSSender.java:67) 位于org.apache.axis2.context.ConfigurationContextFactory.initTransportSenders(ConfigurationContextFactory.java:300) 位于org.apache.axis2.context.ConfigurationContextFactory.init(ConfigurationContextFactory.java:231) 位于org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:93) 位于org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:65) 位于org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398) 位于org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219) 在org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate上(CarbonCoreServiceComponent.java:77)

axis2.xml中的Trasport配置

com.tibco.tibjms.naming.TibjmsInitialContextFactory
tcp://127.0.0.1:7222
管理
ESB-POC-CF-00
1.1
队列
xprk119
esb119

因为Tibco 8.0支持向后兼容性。我们有兴趣将esb与tibco 8.0版本集成。请告诉我解决此问题的方法。

您还必须包括EMS 8.0发行版中的jms-2.0.jar。那就是你失踪的班级所在的地方


HTH.

我在WebSphere和Tibco 8上也遇到了类似的问题。将jars-tibjms.jar和ms-2.0.jar添加到类路径解决了这个问题


几天前我也有类似的问题。我认为问题与OSGi和类装入器的装入顺序有关。我已经用EMS 8.2附带的OSGi插件(我不知道以前的8.x是否也有)解决了这个问题,并从需要它们的插件中引用了它们。

Hi Ramon,我复制了tibco EMS 8.0附带的Tibjms.jar、jms-2.0.jar,但结果与ClassNotFound相同。下面是异常堆栈跟踪。NoClassDefFoundError:javax/jms/JMSContext。
<transportReceiver class="org.apache.axis2.transport.jms.JMSListener" name="jms">
  <parameter locked="false" name="ESB-POC-CF-00">
  <parameter locked="false" name="java.naming.factory.initial">com.tibco.tibjms.naming.TibjmsInitialContextFactory</parameter>
  <parameter locked="false" name="java.naming.provider.url">tcp://127.0.0.1:7222</parameter>
  <parameter locked="false" name="java.naming.security.principal">admin</parameter>
  <parameter locked="false" name="java.naming.security.credentials"/>
  <parameter locked="false" name="transport.jms.ConnectionFactoryJNDIName">ESB-POC-CF-00</parameter>
  <parameter locked="false" name="transport.jms.JMSSpecVersion">1.1</parameter>
  <parameter locked="false" name="transport.jms.ConnectionFactoryType">queue</parameter>
  <parameter locked="false" name="transport.jms.UserName">xprk119</parameter>
  <parameter locked="false" name="transport.jms.Password">esb119</parameter>
  </parameter>