I have a Message Driven Bean in an EAR that is to be deployed onto a cluster. However, I don't want the MDB to be deployed onto multiple servers (otherwise, it'll process multiple duplicate messages). Is there a way to tell the container that this component is not to be clustered? I'm using weblogic. Thanks!
Define the mdb as being sent to a queue, not a topic. A topic will process the message once for every listener. Weblogic has one listener per node in the cluster.
If you define it as being sent to a queue, the message will be processed once and only once, regardless of how many listeners.
To do this, when you create the jms queue through the management console, define it as type queue.
I have done this in weblogic clusters and it works as expected
I need to have it as a topic since I will have multiple producers of the message. I also need to register a listener of that topic outside of the cluster and in a client program.