-1

我有两个关于 JMS 的问题:

1)当队列关闭并且发布者试图发送消息时会发生什么。我会得到什么错误?

2)当消息可用但消费者不可用时会发生什么?消息会无限期地等待直到它被消耗掉吗?

4

1 回答 1

0

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

2)什么都没有,你的消息只会坐在队列中,直到有东西删除它。这可能是成功侦听和处理后的消费者,也可能是代理(我认为有一个名为生存时间的 JMS 属性,可以在发布时设置,这样如果不使用,消息会在该时间后消失)。

于 2013-01-02T12:54:07.743 回答