WebLogic - Cannot commit when using distributed transactions...  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

Olá pessoal,

tenho uma aplicação que utiliza as transações do Hibernate para acesso ao banco. Da seguinte forma:



Esse código funciona bem na minha aplicação local. No entanto, agora tivemos que rodar esse código dentro de uma transação distribuída no WebLogic (javax.transaction.UserTransaction).

Ao rodar a aplicação distribuída no WebLogic, quando chega na linha transaction.commit() ele lança uma exceção;
java.sql.SQLException: "cannot commit when using distributed transactions"

Alguém sabe o que posso fazer para contornar esse problema?

obrigado,

abraço





Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
Giuliano Mega
JavaBaby

Membro desde: 22/08/2005 19:01:35
Mensagens: 94
Offline

Alexandre,

Eu estou chutando que o problema é que alguém aí não suporta transações distribuídas. Você poderia postar o stacktrace da exceção? Todos os recursos envolvidos na transação suportam algo do tipo XA?

Abraços,
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 176
Localização: Rio de Janeiro
Offline

Olá, sim. Todos estão usando XA.

O stacktrace é o seguinte:

2007-03-13 11:06:16,741 ERROR net.sf.hibernate.transaction.JDBCTransaction Commit failed
java.sql.SQLException: Cannot call commit when using distributed transactions
at weblogic.jdbc.wrapper.JTAConnection.commit(JTAConnection.java:321)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:63)
at infopae.persistencia.api.Transaction.commit(Transaction.java:35)
at infopae.dadosgraficos.util.bd.BdAcesso.commit(BdAcesso.java:64)
at infopae.dadosgraficos.operacoes.tarefas.TarefaCriarMetadados.executarTarefa(TarefaCriarMetadados.java:90)
at infopae.dadosgraficos.operacoes.tarefas.AbstractTarefa.executar(AbstractTarefa.java:26)
at infopae.dadosgraficos.operacoes.OpImportarShape.criarClasse(OpImportarShape.java:257)
at infopae.dadosgraficos.operacoes.OpImportarShape.importarShapeParaModeloInfoPAE(OpImportarShape.java:202)
at infopae.dadosgraficos.operacoes.OpImportarShape.executarOperacao(OpImportarShape.java:110)
at infopae.dadosgraficos.operacoes.AbstractOperacao.executar(AbstractOperacao.java:65)
at infopae.replica.update.tdk.EventoShapeImportado.executar(EventoShapeImportado.java:65)
at infopae.replica.update.TdkUpdate.executeTdkUpdate(TdkUpdate.java:64)
at infopae.replica.update.TdkUpdate.executeTdkUpdate(TdkUpdate.java:41)
at infopae.replica.update.TdkUpdate.execute(TdkUpdate.java:90)
at infopae.replica.replicador.Importador.executeUpdate(Importador.java:91)
at infopae.replica.replicador.Importador.processMessage(Importador.java:66)
at infopae.replica.replicador.Importador.onMessage(Importador.java:113)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4060)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3953)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4467)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:51
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team