2010-11-04 5 views
0

Nous avons plusieurs fichiers war emballés dans un fichier ear. Certaines guerres utilisent du JDBC pur et nous voulons utiliser Hibernate pour de nouvelles guerres (modules). Nous utilisons le printemps 2.5.6, Hibernate 3.0 et JBoss 4.2 serveur. Nous avons la configuration suivante pour transactionmanager.Configurer JDBC et Hibernate ensemble au printemps

<bean id="dataSource" 
     class="org.springframework.jndi.JndiObjectFactoryBean"> 
     <property name="jndiName" value="java:MyPool" /> 
    </bean> 

    <bean id="transactionManager" 
     class="org.springframework.transaction.jta.JtaTransactionManager"> 
     <property name="allowCustomIsolationLevels"> 
      <value>true</value> 
     </property> 
    </bean> 

Cela fonctionne très bien pour nous.

Maintenant, je veux configurer hibernate transactionManger pour les nouveaux modules dans un fichier xml séparé.

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"/> 
    <property name="configLocation" value="classpath:/hibernate.cfg.xml"/> 
    </bean> 

En général, nous configurons mangager des transactions hiberanate de manière suivante.

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> 

Mais je voudrais utiliser même référence JtaTransactionManager défini pour la configuration JDBC. Aidez-moi s'il vous plaît à configurer ceci.

Répondre

2

Vous n'avez pas vraiment besoin de JTA si vous n'utilisez pas de commits en 2 phases. Configurez simplement Hibernate trans mgr et il est capable de gérer à la fois les transactions hibernate et jdbc. Ce lien pourrait aussi être utile http://forum.springsource.org/showthread.php?t=69864

Questions connexes