JMS持久订阅

时间:2013-12-01 09:08:42

标签: jms

请帮助我理解JMS中的Durable订阅,我正在浏览此链接并遇到声明:

http://docs.oracle.com/javaee/1.3/jms/tutorial/1_3_1-fcs/doc/advanced.html#1024717

  

持久订阅者使用唯一身份注册持久订阅   JMS提供程序保留的标识。后续订户   具有相同身份的对象在状态中恢复订阅   它是由前一个订户留下的。如果耐用   订阅没有活动订阅者,JMS提供者保留   订阅的消息,直到订阅收到消息或   直到它们过期。

订阅者和持久订阅者是同时存在的两个不同对象吗?还请帮帮我这些陈述是什么意思?

1 个答案:

答案 0 :(得分:24)

订阅者(也称为使用者)是一种应用程序,它创建订阅以接收来自所需主题的发布(或消息)。

有两种类型的订阅者:

非持久订阅者:只要应用程序正在运行,此类订阅者应用程序将从消息传递提供程序获取发布。应用程序结束后,消息传递提供程序将删除订阅。

持久订阅者:这是第二种类型的应用程序,只要它们正在运行就会接收它们。当应用程序结束时,消息传递提供程序将为订阅者缓存发布,并在应用程序返回时传递它们。