Tuesday, 11 September 2007

JBO-29000: Rollbackexception When Running a Long Running Query From ADF JSF Page

At times when running an ADF JSF page which has a long running query the following error can occur.

JBO-29000: Unexpected exception caught: javax.ejb.EJBException,
msg=An exception occurred during transaction completion: ; nested exception is:
javax.transaction.RollbackException: Timed out

The transaction timeout interval is controlled by the 'transaction-timeout' attribute in transaction-manager.xml, in $JDEV_HOME\j2ee\home\config or in the embedded config file $JDEV_HOME\jdev\system\oracle.j2ee.10.1.3.XX.XX\embedded-oc4j\config.

By default the timeout for a transaction is 30 seconds.

To avoid this you can alter this to be a larger value say 60 seconds and retry your page once the container is restarted.

<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="60"
max-concurrent-transactions="-1">

No comments: