3 Replies Latest reply on Oct 26, 2015 3:47 PM by wdfink

    how to set the transaction timeout at JBOSS level

    naga_b

      We are using a Jboss-eap-6.2. Our requirement is to set the timeout at the JBOSS level.

       

      From UI we are calling a SOAP service which is deployed on jboss eap, That SOAP service logic internally calls multiple third party services. Sometime its taking more than 20mins for a complete successful transaction. Our idle time for a complete transaction is 3mins, If any service is taking more than 3mins, we need to kill that transaction / Thread at JBOSS level . Is there any settings are  available  in Jboss eap 6.2?

        • 1. Re: how to set the transaction timeout at JBOSS level
          jaysensharma

          The default transaction-timeout can be found at the "transaction" subsystem of your JBoss EAP profile (like standalone.xml) as following:  (300 seconds)

           

          <coordinator-environment default-timeout="300"/>

           

          It can be easily changed via JBoss-cli or console (setting 0 means disabling it)

          example:

          /subsystem=transactions:write-attribute(name=default-timeout,value=900)

           

          At individual component level we can configure the timeouts as well like EJBs can be configured to use a different timeout using @org.jboss.ejb3.annotation.TransactionTimeout or using jboss-ejb3.xml <tx:trans-timeout>

          • 2. Re: how to set the transaction timeout at JBOSS level
            naga_b

            Hi Jay,

            Its already been configured to 300 Secs, (5mins) in Jboss. But the thread / resources are keep on waiting for the response.... in mean time all other transactions are in queue & servers are getting non-responsive after some time.....

            • 3. Re: how to set the transaction timeout at JBOSS level
              wdfink

              The Tx-timeout does not mean the thread get's interrupted. So if i.e. a DB query hung (I saw that by create a carthesian product where the query run for hours, or maybe full-table scan (Oracle)

              the java code still wait on the JDBC driver which is not interrupted.

              Only the next action with the Tx-Manager will fail, so if you do a query and run an internal calculation (for hours) this will not fail until you hit the next query.

               

              Can this the case in your issue?