JMS Listener&发件人 - Spring框架

时间:2013-03-02 15:02:43

标签: java spring-jms

我想了解一个java程序,需要修改使用jms spring框架开发的程序。通常它有JMS接收器和放大器。发送方,它从请求队列接收消息,并在作业完成后调用作业(另一个java程序),发送方将响应队列发送响应。有几个问题,下面是

  1. 在响应成功发布到响应队列中之前,不会删除请求消息。如何实现它背后的逻辑。
  2. 我想编写一个功能,当发送方无法发送消息时(通过捕获JMS异常)将响应写入平面文件。一旦发送者队列启动并运行,我将读取平面文件并将发送响应。我需要的原因是因为如果作业失败,其参与作业处理可以在几个小时内,然后接收器将再次读取输入消息。我想避免重复处理。请在这里建议你的想法。

1 个答案:

答案 0 :(得分:0)

如果没有看到配置,很难回答这些问题,但最好的猜测是#1是因为应用程序正在使用事务会话。这意味着在提交事务之前,该会话的所有更新都不会完成。

抓住异常并写入数据;只要事务提交(因为你捕获了异常),输入消息就会被删除。