Problemas com Hibernate: Already marked for rollback

3 respostas
hmichel

Olá,
estamos com o seguinte problema:
Ao tentar iniciar uma nova transação, o hibernate esta levantando a seguinte exception:

javax.transaction.RollbackException: Already marked for rollback at org.jboss.tm.TransactionImpl.registerSynchronization(TransactionImpl.java:704) at net.sf.hibernate.transaction.JTATransaction.begin(JTATransaction.java:169) at net.sf.hibernate.transaction.JTATransactionFactory.beginTransaction(JTATransactionFactory.java:58) at net.sf.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:2227) at br.com.ksisolucoes.dao.TransactionManager.beginTransaction(TransactionManager.java:106) at br.com.ksisolucoes.dao.TransactionManager.setSession(TransactionManager.java:82) at br.com.ksisolucoes.dao.TransactionManager.<init>(TransactionManager.java:54)
Este problema esta ocorrendo após uma outra operação, em outra transação, levantar uma outra exception.
Existe a possibilidade de uma transação influenciar outra?
Alguém tem alguma sugestão de como soluciona-lo?

JBoss: 3.2.4
Hibernate: 2.1.4
Banco: Postgres 7.4.3

Obrigado!

3 Respostas

_fs

Hum cara, talvez o Hibernate está tentando colocar o novo processo na outra transação, que, como diz a exceção, irá sofrer um rollback.

Como você configurou o Hibernate para tratar transações? Dá uma lida nessa parte da documentação, pois há vários parâmetros possíveis.

F

Este é o jboss-service.xml:

<server>
    <mbean code="net.sf.hibernate.jmx.HibernateService" name="jboss.jca:service=HibernateFactory, name=HibernateFactory">
        <depends>jboss.jca:service=RARDeployer</depends>
        <depends>jboss.jca:service=LocalTxCM,name=KsiPostgresDS</depends>

        <attribute name="JndiName">java:/hibernate/HibernateFactory</attribute>
        <attribute name="Datasource">java:/PostgresDS</attribute>
        <attribute name="Dialect">net.sf.hibernate.dialect.PostgreSQLDialect</attribute>
        <!--attribute name="UseOuterJoin">false</attribute-->
        <attribute name="ShowSql">false</attribute>
        <attribute name="UserTransactionName">UserTransaction</attribute>
        <attribute name="TransactionStrategy">net.sf.hibernate.transaction.JTATransactionFactory</attribute>
        <attribute name="TransactionManagerLookupStrategy">net.sf.hibernate.transaction.JBossTransactionManagerLookup</attribute>

        <min-pool-size>10</min-pool-size>
          <max-pool-size>25</max-pool-size>
        <idle-timeout-minutes>0</idle-timeout-minutes>

        <attribute name="MapResources">
                ...
        </attribute>
       
    </mbean>
</server>
tads

Bom dia,

Alguém chegou a alguma conclusão sobre este problema?

Obrigado

Criado 28 de setembro de 2004
Ultima resposta 24 de jan. de 2008
Respostas 3
Participantes 4