Websphere Cluster中的群集范围单例

kar*_*niz 18 websphere singleton cluster-computing apache-camel spring-integration

我需要在WAS ND 8.0集群下使用Apache Camel(或Spring Integration)运行组件.它们都在启动时运行一些线程,并在正常关闭时停止它们.提供WAS托管的线程池没问题.但是这些线程必须同时在单个集群的节点上运行.此外,它必须是高可用的,即当活动节点下降时切换到其他节点.

我找到的解决方案 - 是WAS Partitioning Facility.它需要额外的扩展部署许可证.这是唯一的方法,还是只有一些方法可以使用Network Deployment许可证来实现这一点?

提前致谢.

小智 1

我认为没有一个功能可以满足这个有趣的需求。我可以想象一个“技巧”:

  1. 定时器 EJB 在队列上发送一条消息(假设每分钟 1 条)
  2. 配置具有高可用性和不可扩展性的服务集成总线 (SIB),以便 HA 管理器确保只有一个消息传递引擎 (ME) 处于活动状态。
  3. 创建非可靠队列以获得高性能和低资源消耗。
  4. 激活规范应配置为仅侦听本地 ME。
  5. MDB 实现以下逻辑:当消息到达时,它检查单例线程是否处于活动状态,否则启动线程。

是否有意义?