Transaction Manager en Weblogic
De Dos Ideas.
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