Java JMS队列/主题问题

Java JMS队列/主题问题,java,jms,message-queue,jms-topic,Java,Jms,Message Queue,Jms Topic,关于JMS,我有两个问题: 1) 当队列关闭且发布者尝试发送消息时会发生什么情况。我会犯什么错误 2) 当信息可用但消费者不可用时会发生什么?消息是否会无限期地等待,直到被消费 1)通常,当您的代码(假设Java)试图连接到JMS代理时,可能会出现某种形式的(运行时)连接异常。确切的例外情况在很大程度上取决于您使用的任何框架(即Spring)。您需要决定在这个场景中要做什么(即,将异常抛出回客户端)。一种选择是缓存要发布的消息,如果客户机不关心消息发布的实际时刻,则每隔一定的时间间隔尝试发布消息

关于JMS,我有两个问题:

1) 当队列关闭且发布者尝试发送消息时会发生什么情况。我会犯什么错误

2) 当信息可用但消费者不可用时会发生什么?消息是否会无限期地等待,直到被消费

1)通常,当您的代码(假设Java)试图连接到JMS代理时,可能会出现某种形式的(运行时)连接异常。确切的例外情况在很大程度上取决于您使用的任何框架(即Spring)。您需要决定在这个场景中要做什么(即,将异常抛出回客户端)。一种选择是缓存要发布的消息,如果客户机不关心消息发布的实际时刻,则每隔一定的时间间隔尝试发布消息


2) 没有,您的消息将一直处于队列中,直到有东西将其删除。这可能是成功侦听和处理后的使用者,也可能是代理(我认为有一个名为time to live的JMS属性,可以在发布时设置它,以便消息在该时间后消失(如果不使用)

什么因素阻止您检查此项?这是一个很好的资源: