Я попытался включить транспорт JMS на WSO2 ESB с помощью Tibco EMS.
С Tibco BW 6.3.0 - скопируйте приведенные ниже клиентские банки в {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. Так что попробовал с комбинацией банок.
https://docs.wso2.org/display/ESB481/JMS+Transport#JMSTransport-JMSConnectionFactoryParameters
т. е. Jms.jar из Tibco-6.3.0 и tibjms.jar из Tibco 8.0 — приводит к тому же исключению, что и ClassNotFound. Ниже приведена трассировка стека исключений.
java.lang.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
<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>
Поскольку Tibco 8.0 поддерживает обратную совместимость. мы заинтересованы в интеграции esb с версией tibco 8.0. Пожалуйста, дайте мне знать, как решить эту проблему.