In JavaEE5 tutorial, There is the statement about JMS durable subscription:
"At the cost of higher overhead, you can use the Session.createDurableSubscriber method to
create a durable subscriber.
A durable subscription can have only one active subscriber at a
time.
A durable subscriber registers a durable subscription by specifying a unique identity that is
retained by the JMS provider. Subsequent subscriber objects that have the same identity resume
the subscription in the state in which it was left by the preceding subscriber. If a durable
subscription has no active subscriber, the JMS provider retains the subscription’s messages until
they are received by the subscription or until they expire."
What I can't understnand is
"A durable subscription can have only one active subscriber at a
time.", For example, If I have a Message drivern bean as a durable subscriber, there is only one bean instance at one time to process the message? if that case, how does it handle concurrent processing? What should be the true container behavior regarding this?
Also at the begining, I understand it as " one topic can have only one active durable subscriber at a time", I just do a
test with 3 beans as durable sucscribers at the same topic, it works. So I think I was wrong on this. One Topic can have many durable subscribers. Otherwise durable subscribers don't make sense compare to the durable features provided by Queue.
Thanks you in advance if you could give me some ideas on the question I have. What I want to do is have many MDBs to listen on the Topic for different activities such as persistent, notification to differnt suppliers and retailers etc. So I need many durable subscribers on same topic and must handle the concurrent transactions.