Исключение при подключении WSO2 CEP к WSO2 Message Broker

Я пытаюсь подключить сервер WSO2 CEP к серверу WSO2 Message Broker.

Я создал файл jndi.properties:

connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientid/carbon?brokerlist='tcp://192.168.11.2:5673'
topic.testTopic = testTopic

адаптер событий ввода:

<?xml version="1.0" encoding="UTF-8"?>
<inputEventAdaptor name="MBJMSInputAdaptor" statistics="enable"
  trace="enable" type="jms" xmlns="http://wso2.org/carbon/eventadaptormanager">
  <property name="java.naming.provider.url">repository/conf/jndi.properties</property>
  <property name="transport.jms.SubscriptionDurable">false</property>
  <property name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</property>
  <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property>
  <property name="transport.jms.DestinationType">topic</property>
</inputEventAdaptor>

определение потока:

<streamDefinitions xmlns="http://wso2.org/carbon/databridge">
  <streamDefinition>
    {
      "name":"testStream",
      "version":"1.0.0",
      "payloadData":[
        {"name":"id","type":"INT"},
        {"name":"name","type":"STRING"}
      ]
    }
  </streamDefinition>
</streamDefinitions>

и конструктор событий:

<?xml version="1.0" encoding="UTF-8"?>
<eventBuilder name="testBuilder" statistics="enable" trace="enable" xmlns="http://wso2.org/carbon/eventbuilder">
  <from eventAdaptorName="MBJMSInputAdaptor" eventAdaptorType="jms">
    <property name="topic">testTopic</property>
  </from>
  <mapping customMapping="enable" type="json">
    <property>
      <from jsonPath="id"/>
      <to name="id" type="int"/>
    </property>
    <property>
      <from jsonPath="name"/>
      <to name="name" type="string"/>
    </property>
  </mapping>
  <to streamName="testStream" version="1.0.0"/>
</eventBuilder>

К сожалению, сервер WSO2 CEP не получает сообщения от сервера WSO2 Message Broker и выдает следующее исключение:

[2014-11-28 13:00:00,226] ИНФОРМАЦИЯ - {JMSEventAdaptorType} Адаптер событий ввода JMS загружает слушателей
Исключение в потоке "Thread-29" java.lang.NullPointerException
в java.util.concurrent.ConcurrentHashMap .hash(ConcurrentHashMap.java:333)
в java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988)
в org.wso2.carbon.event.input.adaptor.jms.JMSEventAdaptorType.createJMSAdaptorListener (JMSEventAdaptorType.java:291)
на org.wso2.carbon.event.input.adaptor.jms.JMSEventAdaptorType.tryStartAdaptor(JMSEventAdaptorType.java:262)
на org.wso2.carbon.event.input.adaptor .jms.internal.ds.JMSEventAdaptorServiceHolder.loadLateStartEventAdaptors(JMSEventAdaptorServiceHolder.java:66)
в org.wso2.carbon.event.input.adaptor.jms.internal.ds.JMSEventAdaptorServiceHolder$1.run(JMSEventAdaptorServiceHolder.java:43)
на java.lang.Thread.run(Thread.java:745)

Не могли бы вы помочь мне отладить это исключение?


person Alessandro Rossini    schedule 28.11.2014    source источник


Ответы (1)


Если вам нравится отлаживать код, вы можете проверить исходный код в расположении ниже [1].. Но я думаю, что приведенный ниже блог [2] поможет вам достичь варианта использования.

[1]https://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/event-stream/event-input-adaptor/org.wso2.carbon.event.input.adaptor.jms/1.0.1

[2] http://sajithr.blogspot.com/2014/04/sample-on-using-wso2-mb-with-wso2-cep.html

person Mohanadarshan    schedule 04.12.2014
comment
Также обратите внимание, что CEP потребуется несколько секунд для загрузки jms-адаптеров при запуске сервера. - person Mohanadarshan; 04.12.2014