我有一个我有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>
答案 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]
中所示[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来获得一些想法,但适配器实现是不同的。