2013-01-22 137 views
1

如果我有以JMS代理作为主要输入的分布式CEP设置。分布式WSO2 CEP

现在,如果我们告诉我们的客户端应用程序发送事件主题X,该事件将被分发到CEP集群中的每个节点,因为每个人会在同一主题X. 在听这是否会导致结果的重复(可以说,如果我正在计算某个数据字段,现在因为每个节点都接收到重复数据,所以如果我有一个2节点集群,我的计数是实际值的两倍)

CEP可以使用JMS队列而不是一个主题?这种方式哪个节点首先获取事件数据将消耗队列中的消息? WSO2 CEP是否支持JMS队列?

回答

2

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

要创建自定义代理

通过延长org.wso2.carbon.broker.core延伸org.wso2.carbon.broker.core.BrokerType和适当的代理类型厂创建相应的代理类型。 BrokerTypeFactory从罐子org.wso2.carbon.broker.core-4.0.5.jar

然后配置与CEP该经纪商创建一个名为“broker.xml”在wso2cep-2.0.1 /库/ conf目录文件 并添加以下XML: <brokerTypes xmlns="http://wso2.org/carbon/broker"> <brokerType class="<<class reference>>" /> ... </brokerTypes>

发现一个细节DOC在http://suhothayan.blogspot.com/2013/02/writing-custom-broker-for-wso2-cep.html

+0

创建一个自定义经纪人umentation。谢谢。将尝试。 –

+0

对于wsocep 2.0.0,自定义代理的过程是否会有所不同?我们正在使用2.0.0在我们当前的设置 –

+0

您好,我已经实现了自定义代理和工厂,并在conf中添加了以下条目的broker.xml。但在此之后,我在第149行的BrokerManagerAdminServer中获得了空点异常。。请指教 \t