プロジェクトを Spring 2.5.6 から 3.2.3 に、Hibernate/JPA を 4.2.3 にアップグレードしています。
トランザクション管理用の spring-ds.xml で、構成の下のオリジナルを置き換えました
<bean id="transactionManager"
class="org.springframework.transaction.jta.WebSphereUowTransactionManager">
<!-- This property is specifically required for JMS -->
<property name="transactionManager" ref="baseTransactionManager" />
</bean>
<bean id="baseTransactionManager"
class="org.springframework.transaction.jta.WebSphereTransactionManagerFactoryBean" />
<tx:annotation-driven transaction-manager="transactionManager" />
WebSphereTransactionManagerFactoryBean クラスは最新の WAS で置き換えられているため、以下に :
<bean id="transactionManager"
class="org.springframework.transaction.jta.WebSphereUowTransactionManager" />
JMS msg リスナーの構成は次のようになります。
<bean id="xxtMsgListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsxxConnectionFactory" />
<property name="destination" ref="jmsxxQueue" />
<property name="messageListener" ref="xxMessageListener" />
<property name="transactionManager" ref="transactionManager" />
<property name="taskExecutor" ref="taskExecutor" />
</bean>
上記の構成では、WAS ログで以下のエラーが発生しています。
宛先 queue://xxQueue?busName=zzBus' の JMS メッセージ リスナー呼び出し元のセットアップが失敗しました - 回復を試みています。原因: JTA UserTransaction が利用できません - プログラムによる PlatformTransactionManager.getTransaction の使用はサポートされていません
spring 3.2.3 にアップグレードするために必要な他の構成/プロパティはありますか? または、WebSphereUowTransactionManager を構成するには、プロパティを設定する必要がありますか?