Hi all,
i made some stress tests using orion 1.1.8 + informix 7.3 both under Linux.
Everything seems to work well, except of indeterministic exceptions of the
following type:
com.evermind.server.rmi.OrionRemoteException: Transaction was rolled back:
Error in transaction: javax.transaction.xa.XAException: The connection was
closed
at
NMejbBinary_EntityBeanWrapper0.setText(NMejbBinary_EntityBeanWrapper0.java:5
09)
at java.lang.reflect.Method.invoke(Native Method)
at com.evermind.server.rmi.ba.run(JAX)
at com.evermind.server.rmi.a8.gx(JAX, Compiled Code)
at com.evermind.server.rmi.a8.run(JAX, Compiled Code)
at com.evermind.util.e.run(JAX, Compiled Code)
at connection to beatnix.net-media.de/10.0.1.13 as admin
at com.evermind.server.rmi.a8.invokeMethod(JAX)
at com.evermind.server.rmi.a_.invoke(JAX)
at __Proxy3.setText(Unknown Source)
at de.netmedia.ejb.test.clienttest.addWords(clienttest.java:102)
at de.netmedia.ejb.test.clienttest.main(clienttest.java:256)
Nested exception is:
javax.transaction.xa.XAException: The connection was closed
at com.evermind.sql.al.prepare(JAX, Compiled Code)
at com.evermind.server.f8.g3(JAX, Compiled Code)
at com.evermind.server.ApplicationServerTransaction.commit(JAX)
at com.evermind.server.ApplicationServerTransaction.end(JAX,
Compiled Code)
at
NMejbBinary_EntityBeanWrapper0.setText(NMejbBinary_EntityBeanWrapper0.java:5
07)
at java.lang.reflect.Method.invoke(Native Method)
at com.evermind.server.rmi.ba.run(JAX)
at com.evermind.server.rmi.a8.gx(JAX, Compiled Code)
at com.evermind.server.rmi.a8.run(JAX, Compiled Code)
at com.evermind.util.e.run(JAX, Compiled Code)
at connection to beatnix.net-media.de/10.0.1.13
at com.evermind.server.rmi.OrionRemoteException.g0(JAX)
at com.evermind.server.rmi.a8.gv(JAX)
at com.evermind.server.rmi.a8.run(JAX)
at java.lang.Thread.run(Thread.java:484)
which, i assume, is caused by the database (correct me if i'm wrong).
I tried then to use the max-tx-retries to work around this and set it to
"10" for all my beans (session and BMP entity beans) in the
orion-ejb-jar.xml, which leads in the first transaction to the following
exception:
com.evermind.server.rmi.OrionRemoteException: Transaction was rolled back:
null
at
NMejbBinaryHome_EntityHomeWrapper16.create(NMejbBinaryHome_EntityHomeWrapper
16.java:663)
at java.lang.reflect.Method.invoke(Native Method)
at com.evermind.server.rmi.ba.run(JAX)
at com.evermind.server.rmi.a8.gx(JAX, Compiled Code)
at com.evermind.server.rmi.a8.run(JAX, Compiled Code)
at com.evermind.util.e.run(JAX, Compiled Code)
at connection to beatnix.net-media.de/10.0.1.13 as admin
at com.evermind.server.rmi.a8.invokeMethod(JAX)
at com.evermind.server.rmi.a_.invoke(JAX)
at com.evermind.server.rmi.a0.invoke(JAX)
at __Proxy0.create(Unknown Source)
at
de.netmedia.ejb.base.binarybean.NMejbBinaryAccess.create(NMejbBinaryAccess.j
ava:89)
at de.netmedia.ejb.test.clienttest.addWords(clienttest.java:100)
at de.netmedia.ejb.test.clienttest.main(clienttest.java:256)
Without max-tx-retries it works (except for the above problem).
BTW a suggestion for the future: What about having a place (server.xml ?)
where you can specify the default values for these things like
max-tx-retries, transaction-timeout and so on, preferable for each
application (maybe as extension to the application tag)? It's not very handy
having them in the orion-ejb-jar.xml.
Regards,
Jens Stutte
____________________________________________
[EMAIL PROTECTED], http://www.netmedia.de
NetMedia GmbH
Neugrabenweg 5-7
66123 Saarbruecken
Germany
fon: +49 (0) 681 - 3 79 88 - 0
fax: +49 (0) 681 -�3 79 88 - 99