Jms 持久和非持久的区别。哪一种是耐用的还是非耐用的?

Jms 持久和非持久的区别。哪一种是耐用的还是非耐用的?,jms,activemq,jms-topic,Jms,Activemq,Jms Topic,在JMS主题中,有人能清楚地解释什么是持久的和非持久的吗 我有服务器和客户机模型,到目前为止,服务器将向客户机发送请求,以完成从服务器发送的请求,客户机接受请求并将响应发送回服务器 我有一个场景,我的客户机必须查看服务器中的特定请求,并将该请求的响应发送回服务器,而不是由服务器启动发送给我的客户机的请求 我可以应用JMS主题来解决这个问题吗?如果有人能解释清楚,我们将不胜感激。提前感谢。一旦客户端注册接收某个主题的消息,则当客户端断开连接时,持久主题会为该客户端保留消息。因此,如果客户端未连接或

在JMS主题中,有人能清楚地解释什么是持久的和非持久的吗

我有服务器和客户机模型,到目前为止,服务器将向客户机发送请求,以完成从服务器发送的请求,客户机接受请求并将响应发送回服务器

我有一个场景,我的客户机必须查看服务器中的特定请求,并将该请求的响应发送回服务器,而不是由服务器启动发送给我的客户机的请求


我可以应用JMS主题来解决这个问题吗?如果有人能解释清楚,我们将不胜感激。提前感谢。

一旦客户端注册接收某个主题的消息,则当客户端断开连接时,持久主题会为该客户端保留消息。因此,如果客户端未连接或无法始终连接,消息可能会在以后等待(取决于某些JMS提供程序,某些JMS提供程序允许持久消息过期,因此如果客户端长时间未连接,消息就不会永远存在)

非持久主题意味着客户端仅在主动连接时获取该主题的消息

在您的用例中,客户端可以“查找特定请求”的唯一方式是主题是持久的,客户端至少连接过一次主题中的消息,提供程序支持持久主题,并且自客户端上次连接以来消息已发送到主题


如果您希望发送到主题的每一条消息都在那里(这是我解释您的需求的一种方式),这样客户机就可以在过去的任意时间搜索特定的请求,JMS听起来不像是解决方案。

没有主题持久或非持久的概念。它是一个主题的订阅,可以是持久的,也可以是非持久的

非持久订阅意味着只要订阅服务器应用程序处于启动和运行状态,发布将被传递到订阅服务器应用程序。一旦应用程序终止,代理将删除订阅,并且不再向该订阅服务器发送发布

另一方面,对于持久订阅,即使订阅服务器应用程序未运行,也会将发布传递到订阅。当应用程序关闭时,代理将保留此类发布(在队列中)。一旦申请提出,这些出版物将被交付