Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cluster-wide singleton in Websphere Cluster

I need to run a component using Apache Camel (or Spring Integration) under WAS ND 8.0 cluster. They both run some threads on startup, and stop them on shutdown normally. No problem to supply WAS managed threadpool. But that threads must run on single cluster's node at the same time. Moreover it must be high-available i.e. switch to other node when active node falls.

Solution I found - is WAS Partitioning Facility. It requires additional Extended Deployment licenses. Is it the only way, or there is some way to implement this using Network Deployment license only?

Thanks in advance.

like image 473
karadeniz Avatar asked Feb 02 '13 16:02

karadeniz


People also ask

What are different types of WebSphere clustering?

You can use vertical clustering to create multiple JVM processes that, together, can use all of the available processing power. Hybrid clustering is a combination of horizontal and vertical clustering. In this configuration, disparate hardware configurations are members of the same cluster.

How clustering works in WebSphere application server?

A cluster is a set of application servers that you manage together as a way to balance workload. You must create two server clusters in your WebSphere Application Server environment. One cluster hosts the IBM® Security Identity Manager application. The other cluster is used as a messaging service.


1 Answers

I think that there is not a feature that address this interesting requirement. I can imagine a "trick":

  1. A Timer EJB send a message on a queue (let's say 1 per minute)
  2. Configure a Service Integration Bus (SIB) with High Availability and No Scalability, so the HA Manager ensure that only one messaging engine (ME) is alive.
  3. Create a non-reliable queue for high performances and low resource consumption.
  4. The Activation Spec should be configured to listen only local ME.
  5. A MDB implement the following logic: when the message arrives, it check if the singleton thread is alive, otherwise it start the thread.

Does it make sense?

like image 97
dmarrazzo Avatar answered Oct 04 '22 17:10

dmarrazzo