konfigurieren jta Transaktion manager mit spring?
Habe ich unter Konfiguration in meinem spring config-Datei. Ich bin mit Spring3, Hibernate4 und Tomcat7.
<jee:jndi-lookup id="wcDataSource" jndi-name="java:comp/UserTransaction" resource-ref="false" environment-ref="remoteEnv" />
<util:properties id="remoteEnv">
<prop key="java.naming.provider.url">jnp://jndi.myURL.me:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="jnp.disableDiscovery">true</prop>
</util:properties>
<bean id="dataSourceKS" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${driverClassName}" />
<property name="jdbcUrl" value="${url}" />
<property name="user" value="${username}" />
<property name="password" value="${password}" />
<!-- pool sizing -->
<property name="initialPoolSize" value="15" />
<property name="minPoolSize" value="10" />
<property name="maxPoolSize" value="20" />
<property name="acquireIncrement" value="3" />
<property name="maxStatements" value="6000" />
<property name="maxStatementsPerConnection" value="300" />
</bean>
<bean name="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSourceKS"/>
<property name="annotatedClasses">
<list>
<value>com.sample.MyBean</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop>
<prop key="hibernate.jdbc.batch_size">50</prop>
</props>
</property>
</bean>
Nun, wie kann ich konfigurieren JTATransactionManager
hier, @Transactional? Hier habe ich wcDataSource
und dataSourceKS
. Danke!
Dank!
JTA ist tricky, am besten, um zu arbeiten, vor allem beim arbeiten mit remote-Ressourcen. Ihre Datenquelle sollte auch ein remote-lookup, wahrscheinlich aus dem gleichen server, es sollte mindestens XA-fähig und sollten/müssen bekannt sein, um die zugrunde liegenden JTA-tx Umsetzung. Als Nächstes würden Sie auch brauchen, um zu konfigurieren, hibernate angemessen (für den Anfang statt
Sie sollten einen Blick auf dieses link, das ist das, was zu tun versuchen. (Atomikos als Ihre eigene Implementierung der jta-manager, aber der Frühling Konfiguration werden die gleichen sein)
Arnaud, Bitte den link...
Arnaud, ich brauche, um eine Verbindung zu AtomikosDataSourceBean über jndi suchen. Könnten Sie bitte geben Sie einige Idee?
datasource
set jtaDataSource
auf die LocalSessionFactoryBean
).Sie sollten einen Blick auf dieses link, das ist das, was zu tun versuchen. (Atomikos als Ihre eigene Implementierung der jta-manager, aber der Frühling Konfiguration werden die gleichen sein)
Arnaud, Bitte den link...
Arnaud, ich brauche, um eine Verbindung zu AtomikosDataSourceBean über jndi suchen. Könnten Sie bitte geben Sie einige Idee?
InformationsquelleAutor user755806 | 2014-01-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen http://lafernando.com/2011/01/05/xa-transactions-with-apache-dbcp/, die nicht im code, aber die Sie sollten in der Lage sein zu übersetzen in eine spring-Konfiguration.
Führen würde, so etwas wie dieses.
Beachten Sie die änderung commons-dbcp als c3p0 nicht XA-fähig-Implementierungen.
InformationsquelleAutor M. Deinum
Den JtaTransactionManager braucht nicht zu wissen, über die DataSource, oder andere spezifische Mittel, denn es nutzt den container-global-transaction-management-Infrastruktur.
So conf-Datei sollte wie folgt Aussehen
InformationsquelleAutor user3740684