【发布时间】:2020-01-03 08:00:13
【问题描述】:
我想找到一种方法来应用带有 JTA @Transactional 注释的自定义拦截器。
我有一个带有@Transactional 的方法,这是一种业务交易。在那种方法中,我想:
- 做一些数据库操作
- 使用云消息服务发布一些主题。
如果两者中的任何一个失败,则两者都不应该完成(即它们应该被回滚)。
目前我使用Google Cloud pubsub 作为消息服务,但这个库似乎与 JMS 或 JTA 不兼容。因此,我想知道是否可以为该库实现自定义拦截器(例如,在事务期间排队消息,并在事务成功提交时发布排队消息)。
有什么好主意吗?
框架是 Quarkus,JTA 实现目前是 Narayana。
【问题讨论】: