File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes EJB and other Java EE Technologies and the fly likes Doubt in JMS pub/sub model Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Doubt in JMS pub/sub model" Watch "Doubt in JMS pub/sub model" New topic
Author

Doubt in JMS pub/sub model

B.Sathish
Ranch Hand

Joined: Aug 18, 2005
Posts: 372
Got a question about the pub/sub messaging model in JMS. Let's say there is a subscriber who has subscribed to a topic. The subscriber disconnects. Later he reconnects and resubscribes to the same topic. In which of the following scenarios will the subscriber get the messages that he missed when he was disconnected?

The missed messages are PERSISTENT and the subscriber has a DURABLE subscription - Yes
The missed messages are NON-PERSISTENT and the subscription is DURABLE - No
PERSISTENT messages and NON-DURABLE subscription - No
NON-PERSISTENT messages and NON-DURABLE subscription - No

So the subscriber will get the missed messages ONLY if the messages are PERSISTENT and his subscription is DURABLE. Is my understanding right? Are there any exceptions to be considered? Please clarify
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8898

The missed messages are NON-PERSISTENT and the subscription is DURABLE - No


In durable subscription messages are persisted. So the above case does not arise.
So the subscriber will get the missed messages ONLY if the messages are PERSISTENT and his subscription is DURABLE. Is my understanding right? Are there any exceptions to be considered? Please clarify

Yes.


Groovy
B.Sathish
Ranch Hand

Joined: Aug 18, 2005
Posts: 372
Thanks for replying Pradip

In durable subscription messages are persisted. So the above case does not arise


If I am a topic publisher using the TopicPublisher.publish() method, I can specify the Delivery Mode argument to the publish() method as javax.jms.DeliveryMode.NON_PERSISTENT. Hence I am publishing a non-persistent message. But the topic subscriber can have a durable subscription to the topic. This is what I meant by the case of non-persistent messages and durable subscriptions. What will happen in this case?
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8898

Originally posted by B Sathish:
Thanks for replying Pradip



If I am a topic publisher using the TopicPublisher.publish() method, I can specify the Delivery Mode argument to the publish() method as javax.jms.DeliveryMode.NON_PERSISTENT. Hence I am publishing a non-persistent message. But the topic subscriber can have a durable subscription to the topic. This is what I meant by the case of non-persistent messages and durable subscriptions. What will happen in this case?


If there is a durable subscriber then a message has to be persisted even if you mention NON_PERSISTENT.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Doubt in JMS pub/sub model
 
Similar Threads
Question on MessageDriven Beans
Doubt in JMS pub/sub model
question about durable JMS subscription.
MDB Durable subscription
durable Vs non-durable Topic subscription