Transaction Manager en Weblogic

De Dos Ideas.
Saltar a: navegación, buscar

En Spring Framework se suele usar el siguiente Transaction Manager genérico para manejar las transacciones:

org.springframework.transaction.jta.JtaTransactionManager

Sin embargo, si se utiliza WebLogic como Servidor de Aplicaciones, pueden surgir problemas. Por ejemplo, dependiendo del tipo de propagación podemos obtener la siguiente excepción:

org.springframework.transaction.InvalidIsolationLevelException: JtaTransactionMa nager does not support custom isolation levels by default - switch 'allowCustomI solationLevels' to 'true'

       at org.springframework.transaction.jta.JtaTransactionManager.applyIsolat

ionLevel(JtaTransactionManager.java:907)

       at org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin(

JtaTransactionManager.java:883)

       at org.springframework.transaction.jta.JtaTransactionManager.doBegin(Jta

TransactionManager.java:843) ......

La solución es utilizar un Transaction Manager propio para WebLogic, que Spring nos provee con la siguiente clase:

org.springframework.transaction.jta.WebLogicJtaTransactionManager

Ver también