Specified transaction manager is not a ReactiveTransactionManager
- Dominant language
- Kotlin
- Stars
- 9.3k
- Forks
- 798
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 26
Description
I use
- spring-boot-starter-parent 2.2.0.RELEASE
- java 12
- kotlin 1.3.50
- exposed-spring-boot-starter 0.17.6
Get this error when moving from spring-boot-starter-parent 2.1.9.RELEASE to 2.2.0.RELEASE.
I get this error when calling a method in a @Service class and is annotated with @Async and @Transactional
For some reason Spring determines that it should use a ReactiveTransactionManager but I do not use any reactive features like Mono, Flux, Flow. And no dependency to reactor in maven, etc.
```
java.lang.IllegalStateException: Specified transaction manager is not a ReactiveTransactionManager: org.jetbrains.exposed.spring.SpringTransactionManager@4053cfd5
at org.springframework.transaction.interceptor.TransactionAspectSupport$ReactiveTransactionSupport.asReactiveTransactionManager(TransactionAspectSupport.java:957)
at org.springframework.transaction.interceptor.TransactionAspectSupport$ReactiveTransactionSupport.determineTransactionManager(TransactionAspectSupport.java:929)
at org.springframework.transaction.interceptor.TransactionAspectSupport$ReactiveTransactionSupport.invokeWithinTransaction(TransactionAspectSupport.java:848)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:335)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.lambda$doSubmit$3(AsyncExecutionAspectSupport.java:276)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1771)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
at com.stey.finance.rerent.config.async.AsyncConfiguration$addMetadataInTaskExecutor$1$1$1.run(AsyncConfiguration.kt:30)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
```
Contributor guide
Assessment
This issue has not been assessed yet.