我有一个消息处理程序,它使用 JMS 队列并将结果发送到另一个 JMS 队列。消息处理程序位于 Spring DefaultMessageListenerContainer 中。当容器关闭时,我希望它完成处理它已经使用的任何请求并发送结果。同时,它不应再消耗请求队列中的任何新消息。
现在,由于没有特殊的关闭规定,安全的 ApplicationContext.registerShutdownHook(),容器等待任何挂起的listernerMethod 调用返回,但它不会将结果发送到响应队列。
确保将运行处理程序产生的响应发送到响应队列的适当方法是什么?