这不能满足您的所有要求,但您应该看看JGroups
(可靠组播通信工具包)
本质上,它是一个用于创建集群节点的 java 库,这些节点可以通过使用多播或单播的各种协议彼此保持同步。它包括一组丰富的构建块,可帮助您构建所需的功能堆栈。您可以使用构建块和/或您自己的自定义状态管理或集群可调用的“业务方法”来实现您对堆栈的自定义。我的意思是,您可以定义一个名为的业务方法int getOpenPortCount()
,然后您可以调用它,而不是在单个节点上,而是在集群上。然后,每个附加节点将在本地调用该方法并返回调用结果,从而导致您的集群调用 [有效地] 返回一个值,该值的int[]
长度是您的 JGroups 集群上的节点数。
它必须提供一些JMX客户端平台
我不完全确定您的意思是什么,但是没有内置的 JMX-Connector 本身。但是,您可能不需要它,因为您可以直接与单个节点通信,或者使用 JGroups API 通过集群与所有节点通信。
用于运行测试和查看结果的 GUI/JMX 界面
我不认为你会找到这样的东西,但是,因为你基本上会使用纯 Java,你可以使用 JGroups API、JMX API、jUnit(或 TestNG)和基于 eclipse 的测试运行器的组合它提供了一个相当不错的测试工具和可视化 UI。
调度
您可以使用 JGroups TimeScheduler、Quartz或简单地使用ScheduledThreadPoolExecutor来安排要在集群中执行的事件。
SNMP 监控
JGroups 支持 JMX 进行监控,而后者又可以通过JVM 的 SNMP 代理进行桥接。这个 jboss 特定链接将使您了解如何实现它。