質問
Springを介してallowCustomIsolationLevelsをtrueに設定してJtaTransactionManagerオブジェクトを構成し、Spring構成を複数のアプリケーションサーバーで使用できるようにするにはどうすればよいですか?
バックグラウンド:
現在JBossASが不足しているアプリケーションがあり、WebSphereで実行しようとしています。私が現在抱えている唯一の問題は、適切な設定で正しいJTATransactionManagerを注入することです。
これが古い設定です
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManagerName">
<value>java:/TransactionManager</value>
</property>
<property name="allowCustomIsolationLevels" value="true" />
</bean>
これは、JBossASのJTAトランザクションマネージャーがJNDIロケーション java:/TransactionManagerで定義されているため機能しました。ただし、WebSphereには同じJNDIロケーションがありません。
Spring 2.5.xは、一般化された方法でJTATransactionManagerを取得する方法を提供します。
<tx:jta-transaction-manager />
これにより、JtaTransactionManagerオブジェクトが取得され、IDがtransactionManagerのBeanとして定義されます。
Spring TXスキーマを調べましたが、使用可能な唯一の設定は、特定の分離レベルを設定することですが、カスタムレベルを使用できるようにするだけではありません(他の場所で定義されています)。tx:jta-transaction-managerタグを使用してallowCustomIsolationLevelsプロパティを設定するにはどうすればよいですか?