在WSO2 CEP 3.1.0中处理MQTT消息

时间:2015-06-12 06:29:03

标签: wso2 wso2cep

我有一个我有MQTT发布者的场景。

  

MQTT客户端 - > Message Broker - > WSO2 CEP(JMS输入适配器)

我可以通过什么方式将此已发布的MQTT消息作为WSO2 CEP的输入?

我尝试使用ActiveMQ作为消息代理和CEP JMS输入适配器来监听JMS消息,但是ActiveMQ将MQTT消息转换为ByteMessage,我相信CEP现在不处理它,因为在同一设置中发布的JMS消息正在工作罚款。
我知道WSO2 CEP 4.0.0具有MQTT输入适配器的功能。如何在CEP 3.1.0中处理它?<​​/ p>

2 个答案:

答案 0 :(得分:4)

是的,我们还没有在CEP 3.1.0中处理JMS输入事件适配器的ByteMessage场景。但是,我们已经在CEP 4.0.0(以及使用BAM 2.5.0发布的CEP功能)中修复了这个问题

我想提供一些选项使其适用于CEP 3.1.0 ..正如Tharik提到的,MQTT输入事件适配器功能可从下一个CEP版本(4.0.0)获得。以下是可能的选择。

1)您可以修补JMS输入事件adpter并将其作为CEP服务器的补丁包含在内。 (修复可在[1]中找到)

2)使用BAM 2.5.0中提供的MQTT输入事件适配器jar。 (构建源[2]并将jar复制到CEP的dropins文件夹并按照[3])

3)编写自己的自定义MQTT输入事件适配器,如[4]

中所示

[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.2/src/main/java/org/wso2/carbon/event/input/adaptor/jms/internal/util/JMSMessageListener.java

[2] https://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/event-stream/event-input-adaptor/org.wso2.carbon.event.input.adaptor.mqtt/1.0.0

[3] https://docs.wso2.com/display/BAM250/Input+MQTT+Event+Adapter

[4] https://mohanadarshan.wordpress.com/2014/07/14/writing-custom-event-adaptors-in-wso2-cep-3-1-0/

谢谢..

答案 1 :(得分:2)

正如您所提到的,WSO2 CEP从4.0.0版开始支持MQTT。您的事件无法将WSO2 CEP 4.0.0 MQTT组件/功能添加到CEP 3.1.0,因为新版本中的输入适配器体系结构不同。

我强烈建议使用CEP 4.0.0。如果您真的想在CEP 3.1.0中使用此功能,则必须write a custom event adapters for CEP 3.1.0。您可以使用引用new version source来获得一些想法,但适配器实现是不同的。