2

我在命名我一直在研究的应用程序常用的模式时遇到了困难。只是为了设置场景:这是一个 Java EE 应用程序,它大量使用消息传递 (JMS),将数据持久保存在关系数据库 (JDBC) 中,并依赖于由应用程序服务器 (JTA) 管理的全局事务 (XA)。

我所说的模式可以描述如下:

  • 使用 JTA 事务管理器启动 XA 事务
  • 使用 JMS 从队列接收消息
  • 通过执行一些业务逻辑来处理消息,这些业务逻辑可能会更新数据库表 (JDBS) 并将一些其他消息发送到队列 (JMS)。重要的是所有操作都参与正在进行的事务(工作单元)。
  • 最后可以选择发回消息或请求转发。

如果发生未捕获的异常,正在进行的工作单元将被回滚,并且触发该过程的原始消息将返回队列以重新传递。

那么,问题是如何命名这种模式?不幸的是,我不知道这种模式有什么好名字,但如果这种模式已经很好地命名了,我不会感到惊讶。

4

2 回答 2

2

在 Gregor Hohpe 和 Bobby Woolf 的 Enterprise Integration Patterns 一书中,这被简单地称为“事务性客户端”。

于 2009-05-22T18:06:44.483 回答
0

交易客户确实。

但是,您可以尝试 Atomikos 变体,消息驱动的 POJO。它将减轻应用程序的事务控制负担,并产生更简单的代码。

http://www.atomikos.com/Publications/J2eeWithoutApplicationServer了解更多详情。

HTH 家伙

于 2009-06-02T20:32:12.327 回答