Я новичок в Spring и спящем режиме, пожалуйста, помогите,
Я использую (Jboss 6.0 Final в качестве сервера)
org.springframework.transaction.jta.JtaTransactionManager
как bean-компонент с набором свойств
transactionManagerName как java:/TransactionManager и
userTransactionName как java:comp/UserTransaction.
In code I have set
jtaTxManagerproperty thr setters.
потом
javax.transaction.TransactionManager tx = jtaTxManager.getTransactionManager();
and then transaction is started using
tx.begin()statement.
I have used
sessionFactory.getCurrentSession()to get session of hibernate
наконец-то я использовал
tx.commit()
I am using hibernate to save multiple records within jta transaction but If in between any database error occurs between some record like constraint violation exception getting thrown on tx.commit() which is
javax.transaction.RollbackExceptionwhich when catch I used to call tx.rollback() but my transaction is not getting rollback and getting following exception on tx.rollback().I have not set any type auto commit property in hibernate properties.
Но моя первая из записей сохраняется в базе данных, в идеале они не должны сохраняться, но при откате возникает это исключение, поэтому я думаю, что именно поэтому они сохраняются.
java.lang.IllegalStateException: BaseTransaction.rollback - [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] no transaction! at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:158) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)