Websphere Cluster中的群集范围单例

Cluster-wide singleton in Websphere Cluster

我需要在was nd 8.0集群下运行使用apache camel(或Spring集成)的组件。它们都在启动时运行一些线程,并在正常关闭时停止它们。没有问题,供应管理线程池。但这些线程必须同时在单个集群的节点上运行。此外,它必须是高可用性的,即在活动节点下降时切换到其他节点。

我发现的解决方案是分区设施。它需要额外的扩展部署许可证。这是唯一的方法,还是有某种方法可以只使用网络部署许可证来实现这一点?

事先谢谢。


我认为没有一个特性可以满足这个有趣的需求。我可以想象一个"诡计":

  • 计时器EJB在队列上发送消息(假设每分钟1条)
  • 配置一个具有高可用性和无可伸缩性的服务集成总线(ServiceIntegrationBus,SIB),因此HA管理器确保只有一个消息传递引擎(Me)处于活动状态。
  • 为高性能和低资源消耗创建一个不可靠的队列。
  • 激活规范应该配置为只侦听本地ME。
  • MDB实现以下逻辑:当消息到达时,它检查单线程是否活动,否则它启动线程。
  • 这有道理吗?