在wso2esb中创建JMS配置时出错 [英] Error while creating JMS configuration in wso2esb

查看:146
本文介绍了在wso2esb中创建JMS配置时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用wso2esb4.7.0和wso2mb-2.2.0.我希望使用wso2mb创建jms代理服务.为此,我已经将wso2mb和wso2esb配置为:

I'm using wso2esb4.7.0 and wso2mb-2.2.0. I wish to create jms proxy service using wso2mb. For this i have configured the wso2mb as well as wso2esb like :

Wso2esb配置: (jndi.properties中的更改)

Wso2esb configuration : (changes in jndi.properties)

# register some connection factories
# connectionfactory.[jndiname] = [ConnectionURL]
 connectionfactory.QueueConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5673'
 connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5673'


# register some queues in JNDI using the form
# queue.[jndiName] = [physicalName]
queue.MyQueue = MyQueue

axis2.xml中的更改:

changes in axis2.xml :

取消注释以下代码:

 <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/>

 <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
        <parameter name="myTopicConnectionFactory" locked="false">
           <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
            <parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
            <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
            <parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
        </parameter>

        <parameter name="myQueueConnectionFactory" locked="false">
            <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
            <parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
            <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
           <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
        </parameter>

        <parameter name="default" locked="false">
            <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
            <parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
            <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">ConnectionFactory</parameter>
            <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
        </parameter>
    </transportReceiver>

还将andes-client-*.jargeronimo-jms_1.1_spec-*.jar从$ MB_HOME/client-lib复制到$ ESB_HOME/repository/components/lib

also copied andes-client-*.jar and geronimo-jms_1.1_spec-*.jar from $MB_HOME/client-lib to $ESB_HOME/repository/components/lib

重新启动服务器.直到工作正常.

re-started servers.Till it's working fine.

现在希望使用jms端口创建服务.它正在创建服务,但立即转到有故障的服务,并且esb记录它显示错误,如:

Now wish to create a service with jms port. it is creating a service but immediately it goes to faulty service and esb logs it showing error like :

 ERROR - JMSListener Unexpected error when configuring service SampleJMS for the JMS transport. It will be disabled for this transport and marked as faulty.
java.lang.NullPointerException
    at org.apache.axis2.transport.jms.JMSListener.getConnectionFactory(JMSListener.java:132)
    at org.apache.axis2.transport.jms.JMSEndpoint.loadConfiguration(JMSEndpoint.java:193)
    at org.apache.axis2.transport.base.AbstractTransportListenerEx.startListeningForService(AbstractTransportListenerEx.java:153)
    at org.apache.axis2.transport.base.AbstractTransportListener.internalStartListeningForService(AbstractTransportListener.java:213)
    at org.apache.axis2.transport.base.AbstractTransportListener$2.serviceAdded(AbstractTransportListener.java:126)
    at org.apache.axis2.transport.base.tracker.AxisServiceTracker.serviceAdded(AxisServiceTracker.java:212)
    at org.apache.axis2.transport.base.tracker.AxisServiceTracker.start(AxisServiceTracker.java:188)
    at org.apache.axis2.transport.base.AbstractTransportListener.start(AbstractTransportListener.java:178)
    at org.apache.axis2.transport.base.AbstractTransportListenerEx.start(AbstractTransportListenerEx.java:83)

也在重新启动它时显示错误,如:

also while restarting it showing error like :

错误-名称为ConnectionFactory的BaseUtils JNDI查找返回了org.wso2.andes.client.AMQQueue,而接口javax.jms.ConnectionFactory则应为 [2015-01-20 10:22:27,709]错误-ListenerManager无法初始化jmstransport侦听器 org.apache.axis2.transport.base.BaseTransportException:名称为ConnectionFactory的JNDI查找返回了org.wso2.andes.client.AMQQueue,而接口javax.jms.ConnectionFactory则是预期的

ERROR - BaseUtils JNDI lookup of name ConnectionFactory returned a org.wso2.andes.client.AMQQueue while a interface javax.jms.ConnectionFactory was expected [2015-01-20 10:22:27,709] ERROR - ListenerManager Couldn't initialize the jmstransport listener org.apache.axis2.transport.base.BaseTransportException: JNDI lookup of name ConnectionFactory returned a org.wso2.andes.client.AMQQueue while a interface javax.jms.ConnectionFactory was expected

我的代理配置是:

  <target> 
      <inSequence> 
         <property name="Action" 
                   value="urn:placeOrder" 
                   scope="default" 
                   type="STRING"/> 
         <log level="full"/> 
         <send> 
            <endpoint> 
               <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> 
            </endpoint> 
         </send> 
      </inSequence> 
      <outSequence> 
         <drop/> 
      </outSequence> 

为什么呢? jms配置有什么问题吗?请引导我.

Why so? is their any problem with jms configuration? Please guide me.

推荐答案

在jndi.properties中,您已经定义了:

in jndi.properties, you've defined :

  • QueueConnectionFactory
  • TopicConnectionFactory
  • QueueConnectionFactory
  • TopicConnectionFactory

并在axis.xml中使用:

and in axis.xml, you use :

  • QueueConnectionFactory
  • TopicConnectionFactory
  • 并且在默认部分中," ConnectionFactory "
  • QueueConnectionFactory
  • TopicConnectionFactory
  • AND, in the default part, a "ConnectionFactory"

我不使用WSO2MB,不知道这是否不是您的问题

I don't use WSO2MB by I wonder if this would not be your problem

这篇关于在wso2esb中创建JMS配置时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆