分布式WSO2 CEP

时间:2013-01-22 06:16:18

标签: wso2 distributed complex-event-processing wso2cep

如果我有一个分布式CEP设置,并将JMS代理作为主要输入。

现在,如果我们告诉客户端应用程序将事件发送到Topic X,事件将被分发到CEP集群中的每个节点,因为每个节点都将在同一主题X上进行侦听。 这会导致重复结果(假设我计算某些数据字段,现在因为每个节点都在接收重复数据,如果我有一个2节点集群,我的计数是实际值的两倍)

CEP可以解决JMS队列而不是主题吗?任何节点首先获取事件数据的方式将消耗队列中的消息? WSO2 CEP是否支持JMS队列?

1 个答案:

答案 0 :(得分:2)

不,当前(CEP 2.0.1)不支持从JMS队列接收事件。 但如果这是您的要求,那么您可以编写自己的CEP addeptor(代理)来接收队列中的事件并将其推送到CEP。

创建自定义代理

通过从jar org.wso2.carbon扩展org.wso2.carbon.broker.core.BrokerTypeFactory,扩展org.wso2.carbon.broker.core.BrokerType和适当的Broker Type Factory,创建一个合适的Broker Type。 broker.core-4.0.5.jar

然后使用CEP配置该代理在wso2cep-2.0.1 / repository / conf中创建名为“broker.xml”的文件 并添加以下XML: <brokerTypes xmlns="http://wso2.org/carbon/broker"> <brokerType class="<<class reference>>" /> ... </brokerTypes>

查找有关在http://suhothayan.blogspot.com/2013/02/writing-custom-broker-for-wso2-cep.html

创建自定义代理的详细文档