Problemas com transações em ejbs e mdbs

View: New views
2 Messages — Rating Filter:   Alert me  

Problemas com transações em ejbs e mdbs

by Leandro Costa Silva :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Boa tarde senhores(as).

Estou tendo um problema em relação a transação, na verdade não é um
erro a mensagem é:

Caused by: org.hibernate.exception.GenericJDBCException: Could not
execute JDBC batch update
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
        at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
        ... 145 more
Caused by: java.sql.BatchUpdateException: Lock wait timeout exceeded;
try restarting transaction
        at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2016)
        at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1452)
        at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:774)
        at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
        at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
        ... 152 more

Isso acontece porque o jboss iniciou uma trasação quando um método de
um statless é chamado bloquenando alguns recursos necessários para a
transsação porém esta transação não é fechada e em sequencia preciso
abrir uma nova transação pois um segundo ejb é chamado mas, este
segundo ejb precisa lockar praticamente os mesmos recursos da
primeira.

Na verdade a primeira transação é desnecessário por isso eu coloquei a
seguinte anotação no método do ejb:

@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)

Será que mesmo com essa anotação no método, o container está criando
uma transação para o ejb?
Se sim, como posso dizer que um ejb não vai utilizar transação? Pensei
que fosse com essa anotação.

Obrigado.
--
Leandro Costa Silva
Analista/Desenvolvedor
leandro@...

Cel: (11)92435088
     (21)94123313

---------------------------------------------------------------------
To unsubscribe, e-mail: java-list-unsubscribe@...
For additional commands, e-mail: java-list-help@...


Re: Problemas com transações em ejbs e mdbs

by Claudio Miranda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Como esta a configuração do persistence.xml ? Coloque aqui a parte relevante.
Veja com atenção as propriedades

hibernate.transaction.manager_lookup_class
hibernate.transaction.factory_class

Existe algum outro processo fora do java que atualize estas linhas ?
um processo batch ?

Quando ocorrer este erro, abra um console do mysql e veja as
transações atuais e quais delas influenciam no erro

show innodb status

2009/10/20 Leandro Costa Silva <leandro@...>:
> Na verdade a primeira transação é desnecessário por isso eu coloquei a
> seguinte anotação no método do ejb:
>
> @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
>



--
  Claudio Miranda
  _______________________________________________
  http://www.claudius.com.br   claudio(o)claudius.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: java-list-unsubscribe@...
For additional commands, e-mail: java-list-help@...