[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: SQL Server up and running!



  Germano,

     Eu ganhei esta mesma exceção e não fiz nada. Isto é, ontem tudo funcionava, hoje começou a dar esta exceção :-(

      Que droga

            Rachel

Germano Bezerra wrote:
Speicys e demais,

parece que o problema da mal formação de XML diz respeito à ordem como os
elementos são definidos. O elemento entity do DTD está descrito abaixo e diz
que os elementos de datasource devem vir após o <ejb-name>. Lembrei-me de
outra situação de erro em XML que tive aqui na empresa e era por conta da
tal ordem também.

Isso aqui em baixo _não_ dá erro de mal formação:

   <enterprise-beans>
      <entity>
         <ejb-name>DisciplinaEJB</ejb-name>
         <datasource>java:/MSSQLXaDS</datasource>
         <datasource-mapping>MS SQLSERVER</datasource-mapping>
         <create-table>false</create-table>
         <remove-table>false</remove-table>
         <pk-constraint>true</pk-constraint>
         <table-name>disciplina</table-name>
         <cmp-field>
           ....
      </entity>

MAS, hehehe, o que eu tentei fazer não funcionou. Defini um datasource para
<defaults> e defini um datasource distinto para o EJB acima. Cada datasource
aponta, de fato, para duas máquinas distintas, ambas com SQL. Já testei os
dois DS´s isoladamente e ambos funcionam. Quando tento misturar as coisas,
ganho uma exceção de presente. Vou colocá-la ao final de minha mensagem para
o caso de alguém quiser dar uma olhada. Infelizmente, não pude analisar a
causa e vou ter que dar um tempo no EP até mais a noite, pois já enrolei
demais aqui no trabalho... :))

De todo modo, a idéia é fazer isso mesmo? Tenho 2 beans entidades. Queria
usar o default para um bean e o datasource personalizado para o outro, na
esperança que as coisas continuem a rodar normalmente. É isso?

Germano

P.S.: Apesar dos pesares, acho XML uma sacada legal. De verdade. :) (não me
xinguem muito)


**************
EXCECAO
**************

11:05:21,186 INFO  [Server] JBoss started in 21s:765ms
11:10:21,874 WARN  [TransactionImpl] XAException: tx=TransactionImpl:XidImpl
[Fo
rmatId=257, GlobalId=ics-germano//15, BranchQual=] errorCode=XAER_RMERR
javax.transaction.xa.XAException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQ
LServer]xa_end (4000000) returns -6
        at
com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Un
known Source)
        at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.end(Unknown
Sou
rce)
        at com.microsoft.jdbcx.base.BaseXAResource.end(Unknown Source)
        at
org.jboss.tm.TransactionImpl.endResource(TransactionImpl.java:1064)
        at
org.jboss.tm.TransactionImpl.endResources(TransactionImpl.java:1126)
        at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:332)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCM
T.java:308)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
torCMT.java:194)
        at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.ja
va:58)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityIntercep
tor.java:105)
        at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:1
31)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyF
actoryFinderInterceptor.java:125)
        at
org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:475)
        at
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLoca
lProxyFactory.java:271)
        at
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java
:110)
        at $Proxy43.findAll(Unknown Source)
        at matricula.InscricaoEJB.listaOfertas(InscricaoEJB.java:134)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:606)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:186)
        at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:108)
        at
org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxI
nterceptorBMT.java:144)
        at
org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:6
2)
        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
elessSessionInstanceInterceptor.java:77)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:130)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFacto
ryFinderInterceptor.java:154)
        at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
ner.java:303)
        at org.jboss.ejb.Container.invoke(Container.java:671)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
        at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
325)
        at java.lang.reflect.Method.invoke(Native Method)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:236)
        at sun.rmi.transport.Transport$1.run(Transport.java:147)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:143)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
60)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:701)
        at java.lang.Thread.run(Thread.java:479)
11:10:21,905 INFO  [STDOUT] Germano
11:10:21,921 ERROR [LogInterceptor] TransactionRolledbackLocalException,
causedB
y:
javax.ejb.EJBException: Unexpected Throwable

        at
org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.j
ava:257)
        at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:1
35)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyF
actoryFinderInterceptor.java:125)
        at
org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:475)
        at
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLoca
lProxyFactory.java:271)
        at
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java
:110)
        at $Proxy43.findAll(Unknown Source)
        at matricula.InscricaoEJB.listaOfertas(InscricaoEJB.java:134)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:606)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:186)
        at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:108)
        at
org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxI
nterceptorBMT.java:144)
        at
org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:6
2)
        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
elessSessionInstanceInterceptor.java:77)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:130)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFacto
ryFinderInterceptor.java:154)
        at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
ner.java:303)
        at org.jboss.ejb.Container.invoke(Container.java:671)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
        at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
325)
        at java.lang.reflect.Method.invoke(Native Method)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:236)
        at sun.rmi.transport.Transport$1.run(Transport.java:147)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:143)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
60)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:701)
        at java.lang.Thread.run(Thread.java:479)
11:10:21,936 ERROR [LogInterceptor] TransactionRolledbackException,
causedBy:
javax.ejb.EJBException: Unexpected Throwable

        at
org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.j
ava:257)
        at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:1
35)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyF
actoryFinderInterceptor.java:125)
        at
org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:475)
        at
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLoca
lProxyFactory.java:271)
        at
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java
:110)
        at $Proxy43.findAll(Unknown Source)
        at matricula.InscricaoEJB.listaOfertas(InscricaoEJB.java:134)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:606)
        at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:186)
        at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:108)
        at
org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxI
nterceptorBMT.java:144)
        at
org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:6
2)
        at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
elessSessionInstanceInterceptor.java:77)
        at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:130)
        at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
        at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFacto
ryFinderInterceptor.java:154)
        at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
ner.java:303)
        at org.jboss.ejb.Container.invoke(Container.java:671)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
        at
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
325)
        at java.lang.reflect.Method.invoke(Native Method)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:236)
        at sun.rmi.transport.Transport$1.run(Transport.java:147)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:143)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
60)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:701)
        at java.lang.Thread.run(Thread.java:479)

**************************
FINAL DA EXCECAO
**************************

----- Original Message -----
From: "Roberto Speicys Cardoso" <speicys@ime.usp.br>
Cc: <reverbel-sma@ime.usp.br>
Sent: Thursday, December 05, 2002 9:25 PM
Subject: Re: SQL Server up and running!




On Thu, 5 Dec 2002, Germano Bezerra wrote:

  
Reverbel,

isso que você falou faz sentido, pois o dtd define que:

<!ELEMENT entity (ejb-name, (datasource, datasource-mapping)?,
create-table?,
         remove-table?, read-only?, read-time-out?, row-locking?,
         pk-constraint?, read-ahead?, list-cache-max?, fetch-size?,
table-name?,
         cmp-field*, load-groups?, eager-load-group?, lazy-load-groups?,
         query*)>

O único cuidado é inserir também o datasource-mapping. Mas nada de mais
grave, em tese! Tento usar o seguinte:

   <enterprise-beans>

      <entity>
         <ejb-name>DisciplinaEJB</ejb-name>
...
      <datasource>java:/MSSQLXaDS</datasource>
      <datasource-mapping>MS SQLSERVER</datasource-mapping>
     </entity>
...
      </enterprise-beans>

O cidadão continua reclamando de mal formação no XML. :( Já tentei todas
    
as
  
variações possíveis dentro do que tá descrito no DTD, e nada. Alguém já
vivenciou tal experiência?

Isso (definir um datasource a nível de bean) é necessário para o disparo
    
dos
  
tais dois XAs distintos, correto? Não consegui nem por meu pobre log pra
funcionar ainda... O que se dirá do algoritmo de recuperação...

    

  Ok, isto está ficando repetitivo, mas eu tive exatamente o mesmo
problema! Sim, eu acho que isso é necessário para conseguir dois XA's de
_recursos_ diferentes, que é o caso que o TxManager trata como 2PC.
  Eu tentei configurar antes, e deu erro de XML mal formado. Como este
erro é característico de pisadas na bola (falta de tag, espaço a mais,
maiúscula ao invés de minúscula, viva XML!) resolvi mandar a mensagem.
  Isto, até agora, não consegui resolver.

  Abraços,

  Beto
  <speicys@etc...>




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.423 / Virus Database: 238 - Release Date: 25/11/2002