QNJR-GROUP/EasyTransaction

Work with RxJava

yuluyi opened this issue · 1 comments

和RxJava一起用的时候, 因为 observeOn在一个非spring的线程, 会提示synchronization not active。
通过 手动 调用

TransactionSynchronizationManager.initSynchronization() 

可以解决这个问题。

但是如果有并发的transaction的时候, 会报

java.lang.RuntimeException: transaction already started,but try to start again。

即使我 observeOn(Schedulers.newThread()) 也没有用。 请问是什么问题呢?

et的事务是依赖于spring的单机事务的

用et的话,只要求执行et的代码时,被spring定义的事务包裹

TransactionSynchronizationManager.initSynchronization() 

这代码通常不需要外部调用,通过@transactional或者xml或者TransactionTemplate等开启事务即可