What does the nuxeo.db.transactiontimeout do?

0 votes

1 answers

1938 views

ANSWER



According to the Configuration Parameters Index (nuxeo.conf) documentation page, it is the:

Database transaction timeout in seconds (available for Tomcat server only). Default value: 300.

It is used in the nuxeo Tomcat application context:

<Resource name="TransactionManager" auth="Container"
          type="javax.transaction.TransactionManager"
          factory="org.nuxeo.runtime.jtajca.NuxeoTransactionManagerFactory"
          transactionTimeoutSeconds="${nuxeo.db.transactiontimeout}" />

Do you need more details?

1 votes



yup, does it stop any kind of transaction if it exceed the timeout?
10/21/2015

what file is this?

&lt;Resource name="TransactionManager" auth="Container"

      type=&quot;javax.transaction.TransactionManager&quot;
      factory=&quot;org.nuxeo.runtime.jtajca.NuxeoTransactionManagerFactory&quot;
      transactionTimeoutSeconds=&quot;${nuxeo.db.transactiontimeout}&quot; /&amp;gt;
10/22/2015

It's in templates/common-base/conf/Catalina/localhost/nuxeo.xml.nxftl which is used to produce conf/Catalina/localhost/nuxeo.xml
10/22/2015

The value is passed to the org.apache.geronimo.transaction.manager.TransactionImpl.
Then, depending on the configuration (XA mode, backend implementation…), it is either used in:

  • TransactionImpl.commit() which will raise a RollbackException(&quot;Unable to commit: Transaction timeout&quot;)
  • or used by an implementation of javax.transaction.xa.XAResource, some of which will simply ignore that parameter.
10/22/2015