Мы обновляем наш проект с 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:
Не удалось настроить вызывающий модуль прослушивателя сообщений JMS для очереди назначения://xxQueue?busName=zzBus. Попытка восстановления. Причина: нет доступных JTA UserTransaction — программное использование PlatformTransactionManager.getTransaction не поддерживается
Требуется ли какая-либо другая конфигурация/свойство для обновления до весны 3.2.3? или для настройки WebSphereUowTransactionManager нам нужно установить какое-либо свойство?