17

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

我发现的解决方案 - 是WAS分区工具。它需要额外的扩展部署许可证。这是唯一的方法,还是有一些方法可以仅使用Network Deployment许可证来实现此目的?

在此先感谢。

+2

非常好的问题。在负载均衡的WAS网络部署设置中运行Camel在事务处理程序,类加载和托管线程方面有一些怪癖,但是非常直截了当。网络部署设置中有一个骆驼实例故障转移很困难。您可以使用骆驼路由策略使多个上下文保持活动状态,但保持某些路由仅在单个服务器上启动。 –

+1

哪个版本的WAS? –

+1

真的,忘了提及:WAS 8.0 – karadeniz

回答

1

我认为没有一个功能可以解决这个有趣的需求。 我能想象一个“绝招”:

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

它有道理吗?