Spring JTA TransactionManager config: Prise en charge de Tomcat et JBoss

J'ai une application web en utilisant JPA, et JTA avec le Printemps. Je tiens à soutenir à la fois JBoss et Tomcat. Lors de l'exécution sur JBoss, je voudrais utiliser JBoss propres TransactionManager, et lors de l'exécution sur Tomcat, je voudrais utiliser JOTM.

J'ai deux scénarios de travail, mais je trouve maintenant que je semble avoir besoin de deux configurations de Ressort pour les deux cas. Avec JOTM, j'ai besoin d'utiliser le Printemps JotmFactoryBean:

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

Dans JBoss, si, j'ai juste besoin de récupérer "TransactionManager" de 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>

Est-il un moyen de configurer ce afin que les TransactionManager - JBoss ou JOTM - est utilisé, sans la nécessité pour les deux fichiers de configuration différents?

source d'informationauteur Henning