我在命名我一直在研究的应用程序常用的模式时遇到了困难。只是为了设置场景:这是一个 Java EE 应用程序,它大量使用消息传递 (JMS),将数据持久保存在关系数据库 (JDBC) 中,并依赖于由应用程序服务器 (JTA) 管理的全局事务 (XA)。
我所说的模式可以描述如下:
- 使用 JTA 事务管理器启动 XA 事务
- 使用 JMS 从队列接收消息
- 通过执行一些业务逻辑来处理消息,这些业务逻辑可能会更新数据库表 (JDBS) 并将一些其他消息发送到队列 (JMS)。重要的是所有操作都参与正在进行的事务(工作单元)。
- 最后可以选择发回消息或请求转发。
如果发生未捕获的异常,正在进行的工作单元将被回滚,并且触发该过程的原始消息将返回队列以重新传递。
那么,问题是如何命名这种模式?不幸的是,我不知道这种模式有什么好名字,但如果这种模式已经很好地命名了,我不会感到惊讶。