18

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

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

提前致谢。

4

1 回答 1

1

我认为没有一个功能可以解决这个有趣的要求。我可以想象一个“技巧”:

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

是否有意义?

于 2014-01-17T15:05:48.153 回答