configurer transaction jta manager à l'aide de printemps?

J'ai ci-dessous la configuration de mon ressort fichier de configuration. Je suis à l'aide de Spring3, Hibernate4 et 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>

Maintenant, comment puis-je configurer JTATransactionManager ici pour utiliser @Transactionnelle? Ici, j'ai wcDataSource et dataSourceKS. Merci!

Merci!

  • JTA est difficile, au mieux, de se mettre au travail, surtout quand on travaille avec des ressources distantes. Votre source de données doit également être une recherche à distance, probablement de la même serveur, il doit être d'au moins XA capable et devraient/doit être connu du sous-jacent JTA tx mise en œuvre. Ensuite vous devez également configurer hibernate appropriatly (pour commencer au lieu de datasource ensemble jtaDataSource sur le LocalSessionFactoryBean).
  • Vous devriez jeter un oeil à cette lien, c'est ce que tentent de faire. (Atomikos être leur propre mise en œuvre d'un jta manager, mais le printemps de la configuration est la même)
  • Arnaud, Merci de fournir le lien...
  • Arnaud, j'ai besoin de fournir une connexion pour AtomikosDataSourceBean via jndi regarder. Pourriez-vous veuillez donner une idée?
InformationsquelleAutor user755806 | 2014-01-30