Spring, JTA-TransactionManager config: die Unterstützung von Tomcat und JBoss

Ich habe eine web-Anwendung mit JPA und JTA mit Spring. Ich möchte zur Unterstützung von JBoss und Tomcat. Beim laufen auf JBoss, ich möchte die JBoss-eigenen TransactionManager und beim laufen auf Tomcat, die ich verwenden möchte, JOTM.

Habe ich beide Szenarien arbeiten, aber jetzt finde ich, dass ich scheinen, müssen zwei separate Spring-Konfigurationen für die beiden Fälle. Mit JOTM, ich Spring JotmFactoryBean:

<bean id="transactionManager" 
 class="org.springframework.transaction.jta.JtaTransactionManager">
    <property name="userTransaction">
        <bean class="org.springframework.transaction.jta.JotmFactoryBean"/>
    </property>
</bean>

In JBoss, obwohl, ich nur brauche zu Holen "TransactionManager" von JNDI:

<bean id="transactionManager" 
 class="org.springframework.transaction.jta.JtaTransactionManager">
    <property name="transactionManager">
        <bean class="org.springframework.jndi.JndiObjectFactoryBean">
             <property name="resourceRef" value="true" />
             <property name="jndiName" value="TransactionManager" />
             <property name="expectedType" 
               value="javax.transaction.TransactionManager" />
        </bean>
    </property>
</bean>

Gibt es eine Möglichkeit, konfigurieren Sie diese so, dass die entsprechenden TransactionManager - JBoss oder JOTM - verwendet wird, ohne die Notwendigkeit für zwei verschiedene Konfigurations-Dateien?

Spring 3 sieht nicht mehr die org.springframework.transaction.jta.JotmFactoryBean Klasse, so müssen Sie möglicherweise eine Kopie der Quelle von 2.5.x.

InformationsquelleAutor Henning | 2008-09-22

Schreibe einen Kommentar