我有一个类似如下的方法:
@Transactional
public void method1() {
taskExecutor.execute() -> {
// do work here
}
}由于新的线程池,@Transactional注解未被接受。
我该如何解决这个问题呢?
发布于 2021-01-13 16:43:13
您可以尝试用您的工作方法编写一个类,并在这个method.Then上设置@Transactional注释,注入这个类,并在新的线程池中调用它的工作方法。
例如:
public class WorkClass {
@Transactional
public void work() {
//do work here...
}
}@autowired
private WorkClass workClass;
@Transactional
public void method1() {
taskExecutor.execute() -> {
workClass.work();
}
}您可以通过Spring Transaction Propagation调整策略。
https://stackoverflow.com/questions/65697443
复制相似问题