Java中的“警报管理系统”,用于支持来自跨技术应用程序的警报

时间:2009-11-18 16:51:24

标签: java frameworks event-handling notifications

警报管理系统大致符合此定义:“用于筛选事件,构建与事件关联的配置文件以及根据配置文件和事件发送警报的系统”

所以,当前的设置是这样的:有多种应用程序用不同的技术(Java,.Net,Perl,Python,VB)构建,并且它们执行特定类型的任务(例如数据处理)在perl / python中,java / .Net等中的UI和一些因历史原因而存在)。在许多情况下,这些应用程序是相互依赖的,并且有些用户希望在发生某些感兴趣的事件时从多个应用程序获取警报。

现在,问题是:是否有人知道在这方面有任何努力,或者我们是否需要自己完成所有工作?基本上,我们不希望尽可能重新发明轮子。

并且首选的是在Java中使用这样的框架/系统/库,因为事情就在这里。但是,任何其他技术的任何好东西都可以被研究。

3 个答案:

答案 0 :(得分:1)

我建议将JMX作为基于Java的良好警报管理技术。它取决于坐在服务器中监听基于事件的通知的MBean。然后它可以以任何方式对这些通知进行操作。我目前用它来监控集群环境中的应用程序。

答案 1 :(得分:1)

您是否查看了Complex Event ProcessingEvent Stream Processing?这听起来与你想做的相似。这些工具接收事件流并对其执行查询。因此,如果您要查找特定的事件模式,则可以设置查询,当它达到匹配时,您可以触发警报。我真的过分简化了这些工具,但这应该让你了解它们的一般性质。

我不确定这是否是您的整个解决方案,因为我不知道您尝试构建哪种“配置文件” - 您可能需要使用其他工具添加或扩展CEP或ESP工具。但是如果你想检查一下,我会看一下开源Esper CEP engine

答案 2 :(得分:0)

我要看一下反应规则的规则引擎。例如,ruleCore CEP服务器,它通过REST或JMS作为输入XML,并且具有为监视任务量身定制的相当不错的规则语言(规则示例:http://rulecore.com/support/wiki/index.php?title=SIM:RuleDef)。您获得的警报也是XML格式,例如http://rulecore.com/support/wiki/index.php?title=Action