Je suis nouveau au printemps et hiverne s'il vous plaît aider,transaction ne reçoit pas rouler soutenu avec le gestionnaire de transactions JTA
J'utilise (Jboss 6.0 final en tant que serveur)
org.springframework.transaction.jta.JtaTransactionManager
comme haricot propriétés à régler
transactionManagerName comme java:/TransactionManager et
userTrans actionName as java: comp/UserTransaction. En code, j'ai défini
jtaTxManagerpropriété thr setters.
Puis
javax.transaction.TransactionManager tx = jtaTxManager.getTransactionManager();
, puis la transaction est lancée par déclaration
tx.begin().
J'ai utilisé
sessionFactory.getCurrentSession()pour obtenir session de mise en veille prolongée
enfin je l'ai utilisé
J'utilise en veille prolongée pour enregistrer plusieurs enregistrements dans la transaction JTA mais si entre une erreur de base de données se produit entre un enregistrement comme une exception de violation de contrainte est lancé sur tx.commit() qui est
javax.transaction.RollbackExceptionqui, lorsque je l'appelais, appelait tx.rollback() mais ma transaction n'obtenait pas d'annulation et obtenait l'exception suivante sur tx.rollback(). définir toute propriété de validation automatique de type en Hib propriétés d'ernate.
Mais mon premier enregistrement est sauvegardé dans la base de données, idéalement, il ne devrait pas être sauvegardé, mais en cas de retour de cette exception, je pense que c'est la raison pour laquelle ils sont sauvegardés.
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)
Avez-vous commencé la transaction? – Puce
oui, mais tout en rollback je reçois au-dessus de l'exception – Ram