问题描述
我希望Weblogic队列接收到一条消息,但是我不想进一步处理该消息。我希望发送到队列的消息在被使用之前先留在那里。
所以我想我需要暂停Production和Consumption,但要让Insertion继续运行,以便发送到该Queue的每条消息都将保留在那里,并且我将能够读取在此创建的每条消息。我说的对吗?
解决方法
基于此主题的Weblogic documentation,您应该仅暂停消费。如果您暂停生产,那么生产者将无法将消息发送到队列。如文档所述:
当“为生产而暂停JMS”目标时,该目标的新生产者和现有生产者将无法为该目标产生新消息。尝试将消息发送到暂停的目标的生产者会收到一个异常,指示该目标已暂停。
此外,如果您暂停插入,则任何正在进行的消息也不会出现在队列中。再次,从文档中:
当JMS目标被暂停以进行“插入”时,将阻止由于正在进行的工作而插入的消息以及生产者发送的新消息都不会出现在目标上。 使用插入暂停来阻止所有邮件显示在目标上。
也就是说,如果暂停使用,那么您也将无法使用消息,尽管您应该能够使用JMS浏览器进行检查。