2015-01-19 11 views
1

Я использую wso2esb4.7.0 и wso2mb-2.2.0. Я хочу создать службу прокси-сервера jms с помощью wso2mb. Для этого я настроен wso2mb, а также wso2esb как:Ошибка при создании конфигурации JMS в wso2esb

Wso2esb конфигурации: (изменения в jndi.properties)

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


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

изменений в 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-*.jar и geronimo-jms_1.1_spec-*.jar от $ MB_HOME/клиент-Lib до $ ESB_HOME/хранилище/compone nts/lib

перезапущенных серверов. До тех пор, пока он не работает нормально.

Теперь вы хотите создать сервис с портом jms. он создает сервис, но тут же он идет к порче обслуживания и ESB логов с указанием ошибки как:

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) 

также при перезапуске его показывает ошибку, как:

ERROR - BaseUtils JNDI поиск по имени ConnectionFactory вернулся орг .wso2.andes.client.AMQQueue, тогда как ожидается интерфейс javax.jms.ConnectionFactory [2015-01-20 10: 22: 27,709] ERROR - ListenerManager Не удалось инициализировать прослушиватель jmstransport org.apache.axis2.transport. base.BaseTransportException: поиск JNDI имени ConnectionFactory возвратил org.wso2.andes.client.AMQQueue, тогда как интерфейс javax.jms.ConnectionFactory ожидался d

Моя конфигурация прокси-сервера:

<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? Пожалуйста, направляйте меня.

+0

Можете ли вы включить XML провального прокси в свой вопрос? – Voicu

ответ

1

в jndi.properties, вы определили:

  • QueueConnectionFactory
  • TopicConnectionFactory

и axis.xml, вы используете:

  • QueueConnectionFactory
  • TopicConnectionFactory
  • И, в частности, по умолчанию, в "ConnectionFactory"

Я не использую WSO2MB по Интересно, если это будет не ваша проблема

+0

Спасибо, Жан-Мишель. Это базовая конфигурация. Я сделал это раньше – user3129056

Смежные вопросы