spring - Quartz 作业中的 Grails 事务

标签 spring grails transactions

各位下午好。

当我有多个作业运行相同的服务时,我对 Spring 和 Grails 拥有之前的事务有疑问。

我有一个在 Grails 中具有默认配置的服务和一个每 5 秒运行一次的方法。通过 quartz 作业,但该方法的执行时间超过 5 秒。要完成的。我的问题是,quartz 什么时候会调用这个方法,它们会在同一个事务中执行,还是每次发生这种情况时都会创建一个新的?我知道 quartz 的每次调用都会创建一个新线程,但不知道它们是否在同一个事务中,例如,如果调用它会给出一个异常来回滚到目前为止已经完成的所有事情。

我很欣赏答案。

最佳答案

事务状态存储在 ThreadLocals 中,因此不同线程上的两个并发事务服务调用将各自拥有自己的事务。

关于spring - Quartz 作业中的 Grails 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22815778/

相关文章:

Grails - 具有级联删除的同一类的多个belongsTo

grails - 覆盖 addTo 和 removeFrom 以监听 Grails 中属性的变化

java - 如何获取 Grails HeaderParam 属性

mysql - 如果发生 MySQL/InnoDB 'lock wait timeout',锁在空闲时是否仍会被授予?

java - 微服务系统中服务间的分布式事务,使用spring-cloud

java - Spring Boot如何编辑实体

java - 序列化 List<Object> 时未发现序列化程序错误

java - "merge"两个ApplicationContext配置的最佳方法

c# - LINQ to SQL 和并发问题

java - Spring JpaRepository findAll、Java 8 Stream、Connection 已被放弃