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] INFO - {JMSEventAdaptorType} JMS 入力イベント アダプター ロード リスナー
スレッド "Thread-29" で例外 java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java) :333) org.wso2.carbon.event.input.adaptor.jms.JMSEventAdaptorType.createJMSAdaptorListener(JMSEventAdaptorType.java:291)
で java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988) で 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) で
この例外のデバッグを手伝ってもらえますか?