0

我的问题如下:我有一个服务,它查询数据库并检索一些记录。然后它使用该信息更新外部系统,最后更新回数据库。

使用 spring trascations 和 weblogic jta 事务管理器,我能够使用下面的示例代码不丢失任何消息,以防万一

  1. 没有记录被检索。(这些对于外部系统是强制性的)
  2. 外部系统错误
  3. 更新数据库失败

因此,在所有上述情况下,JMS 侦听器都会将错误消息放回队列中。

我的问题是,有没有更好的方法,使用 Spring 及其所有优点来管理它?下面的示例代码明确抛出了一个 RuntimeException,我认为这不是一个好的设计......

请您发表意见。

编辑:提交侦听器 MDP 正在轮询队列,其配置如下所示。消息被消费后,它调用服务的 registerDocument()。(另一个 Spring bean)。该服务调用 2 次 DAO 和外部系统。

4

1 回答 1

1

查看 Spring 关于 JmsTemplate 和消息驱动 POJO 的文档,了解核心 Spring 框架中的模式。

Spring Integration对与面向消息的模式相关的更高级别的抽象进行建模。

于 2013-03-05T15:11:08.357 回答