Spring, JTA-Konfiguration - wie man TransactionManager?
Konfigurieren wir unsere Frühlings-Transaktion im Frühjahr config:
<tx:jta-transaction-manager/>
Ich nehme an, das bedeutet, dass der Frühling wird automatisch entdecken Sie die zugrunde liegenden JTA-Implementierung. Wenn wir also starten Sie JBoss wir sehen diese Nachrichten, während Frühling sucht:
[JtaTransactionManager] [ ] No JTA TransactionManager found at fallback JNDI location [java:comp/Tran
sactionManager]
javax.naming.NameNotFoundException: TransactionManager not bound
<<Big stack trace>>
<<More of the same>>
Und dann schließlich finden Sie unter:
[JtaTransactionManager] [ ] JTA TransactionManager found at fallback JNDI location [java:/Transaction
Manager]
[JtaTransactionManager] [ ] Using JTA UserTransaction: org.jboss.tm.usertx.client.ServerVMClientUserT
ransaction@1f78dde
Frage ist - wie können wir Bearbeiten unsere <tx:jta-transaction-manager/>
tag explizit konfigurieren Sie die java:/Transaction Manager
JTA-Implementierung, so dass wir vermeiden all diese Stacktraces in den logs? (Ich würde lieber nicht nur ändern Sie die Log4J-logging-Ebenen)
Update: ich ersetzte <tx:jta-transaction-manager/>
mit der unter config und es scheint zu funktionieren.. ich vermute, das ist in Ordnung?
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManagerName" value="java:/TransactionManager"/>
</bean>
InformationsquelleAutor der Frage Marcus Leon | 2009-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, das ist in Ordnung. Der stack-trace, die Sie sahen war auch in Ordnung:
<tx:jta-transaction-manager/>
versucht zu erwerben, wird der Transaktions-manager von einer Reihe von verschiedenen standard-Standorte; bei jeder fehlgeschlagenen JNDI-Suche durch, du wirst sehen, diejavax.naming.NameNotFoundException
.java:/TransactionManager
ist, wo JBoss bindet standardmäßig; andere servlet-Container standardmäßig aufjava:/comp/TransactionManager
die ich denke, soll der "standard" - Speicherort für die TM.Aus der Spring reference Dokumentation:
InformationsquelleAutor der Antwort Henning
Einem gemeinsamen "Fehler" ist, zu bündeln Dinge wie
jta.jar
- und/oderjbossall-client.jar
im J2EE-Komponente, die Sie bereitstellen. Überprüfen Sie bitte und entfernen Sie, wenn dies der Fall ist.InformationsquelleAutor der Antwort Pascal Thivent