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實現以下邏輯:當消息到達時,它檢查單例線程是否活着,否則它啓動線程。

它有道理嗎?