Need information on how Clustered JMS works. Say i have a MDB listening to a topic that is a distributed destination(Clustered on 'n' instances)and i deploy the MDB on all the instances of the cluster. If i happen to post a message to the topic then i recieve the message on all the MDB's atleast twice the no of instance times. Why does this happen?Though they are all the same MDBs they all recieve the same message...!
We just faced this problem on a system I am working on.
From Weblogic's docs "The built-in connection factories create sessions with no client ID". If you set a client id (either in the deployment descriptor or by calling a method when your bean starts up) and make it the same in all of your clustered beans, then they should only get one copy of the message between them.
Frank, I tried out what u suggested. I added <jms-client-id>Myid</jms-client-id> in my deployment descriptor. I made my own topic connection fatory and in the connection used the setClientID("Myid") but still the issue persists. I m working with weblogic 8.1(sp4). In the EJB monitoring i could see many active JMS connections for the MDB in the instances.Does this have anything to do with the issue..? or is it the MDB pool information..
Did you have any luck with Frank's solution. Recently, I've been having same problem as yours,
If i happen to post a message to the topic then i recieve the message on all the MDB's atleast twice the no of instance times. Why does this happen?Though they are all the same MDBs they all recieve the same message...!
Let me know if you've got any solution for this. Thanks.