Ich versuche, XA/verteilte Transaktionen für eine Spring-Batch-/Spring-Cloud-Taskanwendung mit Spring Boot zu konfigurieren.SimpleTaskConfiguration für die SimpleTaskConfiguration und SpringBatches SimpleTaskConfiguration verhindert die automatische Konfiguration von XA-Transaktionen für den Spring Cloud-Vorgang
Ich habe hinzugefügt, um die folgende Abhängigkeit von Feder Boot-Autokonfiguration verlassen hofft:
compile("org.springframework.boot:spring-boot-starter-jta-atomikos")
jedoch die folgenden zwei Klassen zwei Transaktionsmanager verursachen konfiguriert werden:
org.springframework.cloud.task.configuration.SimpleTaskConfiguration
org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration
folgende Meldung:
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]
und dann, weil ein PlatformTransactionManager
namens transactionManager
konfiguriert ist, wird meine atomikos Auto-Konfiguration nicht abgeholt:
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)
Kann jemand bitte helfen Sie mir Verhindern Sie, dass die transactionManager
Bohnen, die durch die beiden obigen Klassen verursacht werden, übermäßig forciert werden?
Können Sie ein lauffähiges Beispiel (build.gradle und eine Anwendungsklasse), die Ihr Problem reproduziert? Denn wie bei Ihrer vorherigen Frage können wir ohne Sie nur unsere Vermutungen und Annahmen auf Sie werfen und dann am Ende nichts tun. –
Ich versuche eine Beispiel-App zusammenzustellen, die das reproduziert. Trage mit mir. – balteo
Cool, danke, das sollte es einfacher machen, Fehler zu beheben –