He encontrado un problema extraño con la transacción de primavera. Mi aplicación usa Spring con EJB. Los EJB también invocan clases de servicio Spring anotadas con @Transaction
. He utilizado Spring JtaTransactionManager
para la gestión de transacciones. La aplicación está empaquetada como un archivo EAR y se implementa en jboss5.0 y funciona bien. Pero cuando indico a Jboss que use un cargador de clases separado para cada aplicación EAR, la inicialización de primavera da error.No hay UserTransaction JTA disponible: especifique 'userTransaction' o 'userTransactionName'
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'
¿Por qué la inicialización de Spring no es exitosa?
Gracias
¿Qué configuración cambiaste en JBoss? – skaffman
Modifiqué el archivo ear-deployer-jboss-beans.xml en el directorio "deployers" para establecer la propiedad "aislada" en true. – Chir