OC4J Stateless EJB Timeout for real time transactions
Hi forum-fella,
We wanted to configure a transaction timeout for remote EJB call to stateless session bean to prevent waiting of client threads for the remote EJB call beyond certain amount of time.
Currently transaction-manager.xml in j2ee/AppServer/config has a timeout of 30 seconds as shown below
<transaction-manager
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/transaction-manager-10_0.xsd"
transaction-timeout="30"
max-concurrent-transactions="-1"
>
For simulation we induced a sleep of 60 seconds in the database procedure and tried but the “javax.transaction.RollbackException: Timed out” error seems to come only after 60 seconds instead of configured timeout of 30
We tried putting this timeout in EJB config orion-ejb-jar.xml of EJB jar as below (also put the same in ejb client jar )
<orion-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/orion-ejb-jar-10_0.xsd" deployment-version="" deployment-time="1091f43771c" schema-major-version="10" schema-minor-version="0" >
<enterprise-beans>
<session-deployment name="FCRJChannelTHBean" transaction-timeout="25"
But still the transaction timeout is post 60 seconds.
In one of our vendor imples, we are intermittently facing slow responding remote EJB calls , causing thread starvation in client.
Hence we were trying to configuring this timeout so that the client worker threads dont block over 30 seconds (Base24 timeout).
Could anyone please help us on the same
Thanks and Regards,
Ashley.