Subject Re: [Firebird-Java] What means this exception ?
Author S. Radojcin
David Jencks wrote:

>If you are using jms
>
- yes, exactly. My situation is simple:

1. one MessageDrivenBean (with 'class level' @...
type="Required" tag) simply creates one entity EJB, then does
transition by sending some XML message to the javax.jms.Queue

At this moment, everything is ok (I hope, but to tell you truth, I
nohave idea what happens at this moment with transaction, one
explanation will be helpful)

(P.S. in standardjboss.xml, for Standard CMP 2.x EntityBean, I have
<commit-option>A</commit-option>
without this, my finder method sometime cannot find existing entity
bean )

2. on the other side, second MDB (from the same .jar) which listens on
the Queue, tries to find local interface of that entity EJB.
And FinderExcpetion because of limbo transaction happens.

>you would get 2pc unless you modified the jaybird
>-ds.xml to specify local transaction.
>

- Do you mean 'ra.xml' file inside firebirdsql.rar ? There I can see
<transaction-support>XATransaction</transaction-support>

If so, what should be in this tag, in order to specify local transaction ?
I cannot see jaybird-ds.xml file nowhere ....(JBoss 3.0.8)

> Since jboss's tm doesn't do
>recovery if something broke during commit you could easily get a limbo
>tx.
>
>Might not apply to you, but that's one easy way to get limbo tx.
>
>david jencks
>
>
>
>> - but, I don't have a transaction that spans multiple databases at
>>all;
>> nor two-phase commit; nor subtransactions;
>> for conclusion - there is no conditions for limbo transaction, I
>>think.
>>
>> Still, this exception happens when I try to obtain local interface of
>>my
>> entity EJB, by calling one of finder methods.
>> Then, FinderExceptions throws, with this message:
>> ----------------
>> javax.ejb.FinderException: Find failed:
>> org.firebirdsql.jdbc.FBSQLException: GDS Exception. deadlock
>> record from transaction 19474 is stuck in limbo
>> at
>>
>>org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbs
>>tractQueryCommand.java:148)
>> at
>>
>>org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEn
>>tityCommand.java:44)
>> .......................
>>
>>
>> -So, why deadlock, and why limbo transaction, can anyone tell me ?
>>

>
>