Toon posts:

[j2ee](jboss)exception statefull entity..TransAction context

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het scenario:
In mijn JSP bestand druk op een button om een tabel te open, omdat dit een grote tabel is, 2000 records, duurt dit wel een poosje(zo een 10 seconde) Echter zodra ik ondertussen op een andere button druk, om een andere tabel te open krijg ik de volgende foutmelding:

HTTP ERROR: 500 EJBException:; nested exception is: javax.ejb.EJBException: Application Error: tried to enter Stateful bean with different transaction context, contextTx: TransactionImpl:XidImpl [FormatId=257, GlobalId=CELSIUS62//32, BranchQual=], methodTx: TransactionImpl:XidImpl [FormatId=257, GlobalId=CELSIUS62//33, BranchQual=]

Wie iemand hoe ik dit moet oplossen?

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 22:01
Vraag eerst een andere instantie van de betreffende bean op. Tenminste dat is wat ik denk bij die foutmelding. Ik weet niet hoe je code eruit ziet, maar het lijkt er op dat je twee keer hetzelfde aan dezelfde bean vraagt. Hierdoor zou de eerste request overschreven worden door de tweede. Ware het niet dat de beancontainer dit niet toestaat.

Het antwoord is een beetje vaag, maar dat komt misschien omdat je openingspost te weinig info bied

Groetjes


Verwijderd

Topicstarter
Hij gebruikt in ieder geval dezelfde instantie ja! Om voor elke keer dat ik een scherm, of tabel etc open een nieuwe instantie te maken lijkt mij overbodig? dat kost alleen maar extra tijd?

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 22:01
Geef eens wat meer info anders:

- wat zit er in de methode die je aanroept
- maak je gebruik van connection pooling of hou je zelf bij welke connecties je hebt
- maak je gebruik van 1 en dezelfde connectie/resultset in die ene methode (zo ja, hoe kun je twee verschillende resultsets opvragen met máár 1 instantie van resultset

Groetjes


Verwijderd

Blijkbaar begin je een nieuwe transactie terwijl je dezelfde stateful session bean aanroept.
Dat mag niet. Dus je moet of geen nieuwe transactie starten of een nieuwe bean maken.
Verwijderd schreef op 13 October 2003 @ 15:22:
Hij gebruikt in ieder geval dezelfde instantie ja! Om voor elke keer dat ik een scherm, of tabel etc open een nieuwe instantie te maken lijkt mij overbodig? dat kost alleen maar extra tijd?
Die tijd zal je niet merken als je query zolang duurt.