是否可以在来自 grails 的 jesque 的后台作业中强制执行事务性?
我正在使用 jesque-grails 插件,我可以在其中注入其他服务,包括 GORM ...我可以将作业标记为 @Transaction 并期望有效负载在一个孤立的事务中执行,并在失败时回滚?
是否可以在来自 grails 的 jesque 的后台作业中强制执行事务性?
我正在使用 jesque-grails 插件,我可以在其中注入其他服务,包括 GORM ...我可以将作业标记为 @Transaction 并期望有效负载在一个孤立的事务中执行,并在失败时回滚?
尝试后我发现答案是肯定的。您可以简单地将作业标记为@Transactional,它应该可以按预期工作。
@Transactional
适用于控制器和服务(尽管通常不建议将其用于控制器操作)。我不知道它是否适用于 jesque 工作,但它应该很容易找到,即保存一些东西,然后抛出 aRuntimeException
并查看保存的数据是否回滚。
如果你不能用你的方法注释你的方法,@Transactional
你可以将方法包装在withTransaction