6 Replies Latest reply on Oct 25, 2006 6:11 AM by boobalan_kj

    TransactionTimeOut issue-urgent

    boobalan_kj

      Hi,

      I want to set TimeOut period for my application.
      I dont find any TransactionManagerService on jboss-service.xml....we are using jboss4.0.3 server but I found in jta-service.xml..

      Now my problem is eventhough timeout is 300sec(declared in jta-=service.xml)..my application is destroyed after 35 mins only..Where would be the problem?Is thr any other place need to set TimeOut period?

      Thanks
      Bala.

        • 1. Re: TransactionTimeOut issue-urgent
          jaikiran

           

          my application is destroyed after 35 mins only


          Please explain as to what you mean by application being destroyed. What is that you want to have on transaction timeout?

          I dont find any TransactionManagerService on jboss-service.xml....we are using jboss4.0.3 server but I found in jta-service.xml.


          As far as i know, the TransactionManagerService can still be found in jboss-service.xml present in the %JBOSS_HOME%/server/default/conf folder:

          <mbean code="org.jboss.tm.TransactionManagerService"
           name="jboss:service=TransactionManager"
           xmbean-dd="resource:xmdesc/TransactionManagerService-xmbean.xml">
           <attribute name="TransactionTimeout">300</attribute>
           <!-- set to false to disable transaction demarcation over IIOP -->
           <attribute name="GlobalIdsEnabled">true</attribute>
           <depends optional-attribute-name="XidFactory">jboss:service=XidFactory</depends>
          
           <!-- Transaction Integrity Checking -->
           <!-- Force a rollback if another thread is associated with the transaction at commit -->
           <!--depends optional-attribute-name="TransactionIntegrityFactory"
           proxy-type="org.jboss.tm.integrity.TransactionIntegrityFactory">
           <mbean code="org.jboss.tm.integrity.FailIncompleteTransaction"
           name="jboss:service=TransactionManager,plugin=TransactionIntegrity"/>
           </depends-->
           </mbean>




          • 2. Re: TransactionTimeOut issue-urgent
            boobalan_kj

            Thanks to spend time on my issue.

            My requirement is when the application is timedout I hav to notify presentation tier(ULC) as " Session is timedout please login again "....

            I still seeing Transaction MBean in jta-service.xml file only...
            eventhough timeout is 300 sec...application is still working when the it is being idle for more than 30 mins(exactly 40 mins).it shd not happen bcos i set only for 5 mins.after 40 mins when i click any button i am getting blank pages...I confused where to set timeout period

            • 3. Re: TransactionTimeOut issue-urgent
              jaikiran

              I dont think that this has got anything to do with the EJB transaction timeout value. The EJB transaction timeout value will come into picture only when you have invoked some method on the EJB and its taking a long time to process.
              What you are looking for is, i guess, the session timeout on the web application. You can mention this in the web.xml as follows:

              <session-config>
               <session-timeout>30</session-timeout>
              </session-config>


              Have a look at the web.xml dtd at:

              http://java.sun.com/dtd/web-app_2_3.dtd

              for more details. Here's an extract from the same:
              <!--
              The session-timeout element defines the default session timeout
              interval for all sessions created in this web application. The
              specified timeout must be expressed in a whole number of minutes.
              If the timeout is 0 or less, the container ensures the default
              behaviour of sessions is never to time out.
              
              Used in: session-config
              -->




              • 4. Re: TransactionTimeOut issue-urgent
                boobalan_kj

                thanks for your reply...

                I will try to modify web appl/.timeout issue.

                but I need clear idea about JBoss Transaction timeout issues..I am using default container configuration(Standard)..when my clients trying to delete particular case, most of the people are getting "Unable to delete case" message...in error log I am seeing the following stack trace like..
                -----------------------------
                13:13:11,725 INFO [STDOUT] Transaction marked for rollback, possibly a timeout; CausedByException is:
                Transaction marked for rollback, possibly a timeout
                13:13:19,741 ERROR [BeanLock] Saw rolled back tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=pc-boobalan/197, BranchQual=, localId=197]
                13:13:19,741 ERROR [LogInterceptor] TransactionRolledbackLocalException in method: public abstract com.isfsdc.wwm.mt.interfaces.CaseValue com.isfsdc.wwm.mt.interfaces.CaseLocal.getCaseValue(), causedBy:
                java.lang.RuntimeException: Transaction marked for rollback, possibly a timeout
                at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.doSchedule(QueuedPessimisticEJBLock.java:208)
                at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.schedule(QueuedPessimisticEJBLock.java:180)
                at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:85)

                -----------------------------
                I used retrycount logic ,that means if i found TransactionRolledBackException I resent that request for N times to do again...

                how do i allow all users operations without fails

                pls help me out

                millions of Thanks in advance
                Bala

                • 5. Re: TransactionTimeOut issue-urgent
                  jaikiran

                  The logs mention a possible transaction timeout on the operation that is being performed. However, the actual cause might be related to locks on the database table on which the operation is being carried out. Have you looked at the database table to check whether the table gets locked as part of this operation(Your DBA might be able to help you for checking the locks on tables)? Also, since you mention this occurs when multiple users try to perform the operation, i suspect it might have to do with the database table getting locked and subsequently leading to some sort of a deadlock.

                  • 6. Re: TransactionTimeOut issue-urgent
                    boobalan_kj

                    Thanks to your reply

                    we are using SqlServer200 DB.which uses only row only locking policy.I hope this wont cause deadlock exception.I want to control timeout period of each bean.please see my log file.this is the one when JBoss is started.

                    Please see the lines that marked in red color....
                    1) we not using Hibernate..how to disable that one?

                    ===============================================================================
                    .
                    JBoss Bootstrap Environment
                    .
                    JBOSS_HOME: C:\Program Files\jboss-4.0.3SP1\bin\\..
                    .
                    JAVA: C:\Program Files\Java\jdk1.5.0_06\bin\java
                    .
                    JAVA_OPTS: -Dprogram.name=run.bat -Xms128m -Xmx512m
                    .
                    CLASSPATH: C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar;C:\Program Files\jboss-4.0.3SP1\bin\\run.jar
                    .
                    ===============================================================================
                    .
                    13:14:24,138 INFO [Server] Starting JBoss (MX MicroKernel)...
                    13:14:24,138 INFO [Server] Release ID: JBoss [Zion] 4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1 date=200510231751)
                    13:14:24,153 INFO [Server] Home Dir: C:\Program Files\jboss-4.0.3SP1
                    13:14:24,153 INFO [Server] Home URL: file:/C:/Program Files/jboss-4.0.3SP1/
                    13:14:24,153 INFO [Server] Patch URL: null
                    13:14:24,153 INFO [Server] Server Name: default
                    13:14:24,153 INFO [Server] Server Home Dir: C:\Program Files\jboss-4.0.3SP1\server\default
                    13:14:24,153 INFO [Server] Server Home URL: file:/C:/Program Files/jboss-4.0.3SP1/server/default/
                    13:14:24,153 INFO [Server] Server Temp Dir: C:\Program Files\jboss-4.0.3SP1\server\default\tmp
                    13:14:24,153 INFO [Server] Root Deployment Filename: jboss-service.xml
                    13:14:24,869 INFO [ServerInfo] Java version: 1.5.0_06,Sun Microsystems Inc.
                    13:14:24,869 INFO [ServerInfo] Java VM: Java HotSpot(TM) Client VM 1.5.0_06-b05,Sun Microsystems Inc.
                    13:14:24,869 INFO [ServerInfo] OS-System: Windows XP 5.1,x86
                    13:14:25,912 INFO [Server] Core system initialized
                    13:14:28,433 INFO [Log4jService$URLWatchTimerTask] Configuring from URL: resource:log4j.xml
                    13:14:33,678 INFO [EJB3Deployer] Default persistence.properties: {hibernate.transaction.flush_before_completion=false, hibernate.jndi.java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces, hibernate.transaction.auto_close_session=false, hibernate.jndi.java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup, hibernate.dialect=org.hibernate.dialect.HSQLDialect, hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory, hibernate.hbm2ddl.auto=create-drop, hibernate.connection.datasource=java:/DefaultDS, hibernate.connection.release_mode=after_statement}
                    13:14:33,958 INFO [SocketServerInvoker] Invoker started for locator: InvokerLocator [socket://192.168.1.156:3873/0.0.0.0:3873]
                    13:14:34,923 INFO [AspectDeployer] Deployed AOP: file:/C:/Program Files/jboss-4.0.3SP1/server/default/deploy/ejb3-interceptors-aop.xml
                    13:14:41,802 INFO [WebService] Using RMI server codebase: http://pc-boobalan:8083/
                    13:14:42,097 INFO [TreeCache] setting cluster properties from xml to: UDP(ip_mcast=true;ip_ttl=64;loopback=false;mcast_addr=228.1.2.3;mcast_port=45551;mcast_recv_buf_size=80000;mcast_send_buf_size=150000;ucast_recv_buf_size=80000;ucast_send_buf_size=150000):PING(down_thread=false;num_initial_members=3;timeout=2000;up_thread=false):MERGE2(max_interval=20000;min_interval=10000):FD(down_thread=true;shun=true;up_thread=true):VERIFY_SUSPECT(down_thread=false;timeout=1500;up_thread=false):pbcast.NAKACK(down_thread=false;gc_lag=50;max_xmit_size=8192;retransmit_timeout=600,1200,2400,4800;up_thread=false):UNICAST(down_thread=false;min_threshold=10;timeout=600,1200,2400;window_size=100):pbcast.STABLE(desired_avg_gossip=20000;down_thread=false;up_thread=false):FRAG(down_thread=false;frag_size=8192;up_thread=false):pbcast.GMS(join_retry_timeout=2000;join_timeout=5000;print_local_addr=true;shun=true):pbcast.STATE_TRANSFER(down_thread=false;up_thread=false)
                    13:14:42,129 INFO [TreeCache] setEvictionPolicyConfig(): [config: null]
                    13:14:42,129 WARN [TreeCache] No transaction manager lookup class has been defined. Transactions cannot be used