我对WSO2 Business Activity Monitor感兴趣。 我阅读了几篇文档,但我仍然想知道WSO2 BAM是否可以处理我的以下业务活动监视用例:
实施例
系统A使用新的transactionID“ORK78954”生成一个事件。
系统B产生(1分钟后)另一个事件相同的事务ID“ORK78954”
系统C在接下来的5分钟内不会产生具有transactionID“ORK78954”的事件。
当然,我不知道使用了哪些transactionsID。 WSO2必须在事件的transactionID字段上使用RegEx等。 系统A,B,C不在WSO ESB内,他们“只”将事件发送到BAM。
WSO2可以提醒我,系统A产生的事件(事务ID“ORK78954”)从未到过系统C吗?
如果没有开箱即用,您是否认为可以为此目的编写自己的CEP窗口?
答案 0 :(得分:0)
我从WSO2得到了以下答案:
WSO2复杂事件处理器(CEP)或WSO2业务活动监视器(BAM)的嵌入式CEP组件可以支持此要求。每个外部系统都可以将相关事件发布到WSO2 CEP或WSO2 BAM中的相应流。然后使用Siddhi查询(基础sql,如事件引擎的查询语言),可以定义一个时间窗口,该时间窗口与消息应该到达下一个系统的允许持续时间相匹配。 然后,在Siddhi查询的相同窗口构造内,可以比较第二流中的匹配事件的过期事件。如果第二个流中没有匹配的事件,那么我们可以将它发送到另一个流,我们可以配置输出事件适配器来发送警报。 欲了解更多信息,请参阅: http://eranga-wso2.blogspot.com/2015/02/wso2-complex-event-processor.html http://eranga-wso2.blogspot.com/2015/02/configuring-email-event-adapter-in-wso2.html