EasyTransaction icon indicating copy to clipboard operation
EasyTransaction copied to clipboard

Work with RxJava

Open yuluyi opened this issue 6 years ago • 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()) 也没有用。 请问是什么问题呢?

yuluyi avatar Jan 23 '19 09:01 yuluyi

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

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

TransactionSynchronizationManager.initSynchronization() 

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

skyesx avatar Jan 23 '19 10:01 skyesx