Tôi đang cố định cấu hình các giao dịch XA/phân tán cho một ứng dụng nhiệm vụ đám mây mùa xuân/mùa xuân được cấu hình với khởi động mùa xuân.SimpleTaskConfiguration của Spring Cloud và cấu hình SimpleBatchConfiguration của Spring Spring ngăn cấu hình tự động khởi động mùa xuân của các giao dịch XA
Tôi đã thêm các phụ thuộc sau đây hy vọng sẽ dựa vào khởi động mùa xuân cấu hình tự động:
compile("org.springframework.boot:spring-boot-starter-jta-atomikos")
Tuy nhiên hai loại sau đây gây ra hai nhà quản lý giao dịch để được cấu hình:
org.springframework.cloud.task.configuration.SimpleTaskConfiguration
org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration
Xem sau thông điệp:
2016-07-18 21:46:19.952 INFO 18995 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'transactionManager' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration; factoryMethodName=transactionManager; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/batch/core/configuration/annotation/SimpleBatchConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.cloud.task.configuration.SimpleTaskConfiguration; factoryMethodName=transactionManager; initMethodName=null; destroyMethodName=(inferred); defined in org.springframework.cloud.task.configuration.SimpleTaskConfiguration]
và sau đó vì một PlatformTransactionManager
tên transactionManager
được cấu hình, atomikos tự động cấu hình của tôi không nhặt:
AtomikosJtaConfiguration did not match
- @ConditionalOnClass classes found: org.springframework.transaction.jta.JtaTransactionManager,com.atomikos.icatch.jta.UserTransactionManager (OnClassCondition)
- @ConditionalOnMissingBean (types: org.springframework.transaction.PlatformTransactionManager; SearchStrategy: all) found the following [transactionManager] (OnBeanCondition)
Ai đó có thể hãy giúp tôi ngăn chặn việc ép buộc quá mức của các hạt transactionManager
do hai lớp ở trên gây ra?
bạn có thể cung cấp một ví dụ Runnable (build.gradle và một lớp ứng dụng) nhằm tái tạo vấn đề của bạn? Bởi vì, giống như câu hỏi trước của bạn, mà không có tất cả những gì chúng ta có thể làm là ném các dự đoán và giả định của chúng tôi vào bạn và sau đó cuối cùng không làm gì cả. –
Tôi đang cố gắng tổng hợp một ứng dụng mẫu để tái tạo điều này. Chịu với tôi. – balteo
Thật tuyệt, cảm ơn, điều đó sẽ giúp bạn dễ dàng khắc phục sự cố –