Я столкнулся со странной проблемой с транзакцией Spring. Мое приложение использует Spring с EJB. EJB также вызывают классы обслуживания Spring, аннотированные @Transaction
. Я использовал Spring JtaTransactionManager
для управления транзакциями. Приложение упаковано в виде файла EAR, развернуто на jboss5.0 и отлично работает. Но когда я приказываю jboss использовать отдельный загрузчик классов для каждого приложения EAR, инициализация Spring дает ошибку.
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'transactionManager' defined in ServletContext resource
[/WEB-INF/applicationContext.xml]: Invocation of init method failed;
nested exception is java.lang.IllegalStateException: No JTA UserTransaction
available - specify either 'userTransaction' or 'userTransactionName' or
'transactionManager' or 'transactionManagerName'
Почему инициализация Spring не удалась?
Спасибо