Transaction timeouts behaviour - explanation needed

Hello all,
I'm a newbie to Weblogic and would like to understand how transaction timeouts work in Weblogic. I have a EJB2 application running under Weblogic 10.3 and using Oracle 11g database via thin jdbc driver.
I noticed that if I set trans-timeout-seconds in deployment descriptor it terminates sql queries if they overflow the limit. Say I have timeout set to 10 seconds, it will stop executing sql query after that time and immediately return exception to caller of the current EJB method. This is just perfect!
What I want is to understand how that is done, does it proxy driver somehow? Will it work with other databases, Postgresql for example?
Can I port same behavior to other app servers, JBoss for example.
Thank you in advance.

Unfortunately, it seems to work different in JBoss7. I created a very simple app and it waits until end of query execution instead of interrupting it.
I'm porting application from weblogic to JBoss7 and it is critical for me to achieve identical behavior.

Similar Messages

  • Transaction Timeout behaviour

    I am doing some testing to reproduce a production scenario where we ended up with messages stuck in JMS queue in receive state ( weblogic 10.3.3)...
    The flow is as below:
    JMS Queue --> Transactional MDB with resource reference
    The MDB makes a callout to http service . No read time out configured for the http invocation
    Transaction Timeout : 10 minutes for the MDB
    I put a Thread.sleep in the target http service for 11 minutes
    Tested by placing a message in the queue. MDB picked the message and made http call. Message substate was receive-transaction. Queue had redelivery delay of 55 seconds and redelivery limit of -1.
    I would like to know what is the designed behaviour in this scenario when transaction timeout occurs at 10 minutes. ?
    The behaviour I observed,
    From JTA Monitoring ,At 602nd second, transaction was marked for rolled back, though the MDB code was executing [ I think this is the correct behaviuor]
    Message substate was receieve-transaction till end of 660th second, when it got redelivered. Redelivery count increased by 1. I was expecting message substate to change to delayed, but it didn't,. New substate after 660th second was also receive transaction. In JTA monitoring I could also see a new transaction spawning up.
    The whole purpose of my experiment was to reproduce the scenrio we are observing messages in 'receive' state when http service goes out. Any suggestion how i can get this, all I could get is receive transaction.
    Thanks In Advance.

    So if the delay is set to 11 minutes, but the message is trapped in a receive transaction that times out after 10 minutes, there will only be a 1 minute redelivery delay... Thanks Tom. This is eaxctly the behaviour I am observing. And if redelivery delay is less than transaction timeout period, message is redelivered instantaneously when the transaction timeout occurs.
    It seems you're looking into the final details of the "redelivery delay" feature's behavior? I am looking at how to trap the message in receive state. We are seeing messages stuck in receive state in production when http service goes out and it occurs randomly. My guess is since we have not configured http read time out, the socket timeout occurs at a time beyond transaction timeout and some of the complex underlying behaviours at transaction timeout event is the reason for this [ could even be a bug when dealing with this abnormal condition].
    A solution for this is to set out the http read time out less than transaction timeout. We have done this in prod now and since we cant reproduce the issue , we dont know whether it fixes the problem. We are now waiting to see if the issue reoccurs . The customer doesn't like this and wants us to reproduce the issue for confirmation.
    I am looking at the message substate transitions. I know for transactional weblogic MDB's and non UOO messages, the state transition will be :
    Visible --> receive --> receive transaction --> transaction committed or rolled back
    In this transition , it is possible for messge in receive transaction to revert back to receive status ?
    P.S. we have spent huge amount of time and effort with Oracle support with no real solutions. They want us to tell them the method to reproduce the issue.

  • Redelivery limit not working for transaction timeout?

    hi,
              we have a redelivery limit on a queue that works, except for when there is a transaction timeout. in this case, the message seems to be redelivered infinitely. Is this a bug? a feature?
              we are using Weblogic Server 8.1 SP4. we don't have the source code, so i am not sure how the error handling is done or what exceptions are thrown.
              ------------------ejb-jar.xml------------
              <message-driven>
              <ejb-name>ImporFileReceiver</ejb-name>
              <ejb-class>au.com.auspost.pcms.common.integration.ejb.mdb.ImporFileReceiverMdb</ejb-class>
              <transaction-type>Container</transaction-type>
              <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              <subscription-durability>NonDurable</subscription-durability>
              </message-driven-destination>
              </message-driven>
              <container-transaction>
              <method>
              <ejb-name>ImporFileReceiver</ejb-name>
              <method-intf>Local</method-intf>
              <method-name>onMessage</method-name>
              <method-params>
              <method-param>javax.jms.Message</method-param>
              </method-params>
              </method>
              <trans-attribute>NotSupported</trans-attribute>
              </container-transaction>
              <container-transaction>
              <method>
              <ejb-name>ImporFileReceiver</ejb-name>
              <method-intf>Remote</method-intf>
              <method-name>onMessage</method-name>
              <method-params>
              <method-param>javax.jms.Message</method-param>
              </method-params>
              </method>
              <trans-attribute>NotSupported</trans-attribute>
              </container-transaction>
              ------------------------ weblogic-ejb-jar.xml ---------
              <weblogic-enterprise-bean>
              <ejb-name>ImporFileReceiver</ejb-name>
              <message-driven-descriptor>
              <pool>
              <max-beans-in-free-pool>10</max-beans-in-free-pool>
              <initial-beans-in-free-pool>10</initial-beans-in-free-pool>
              </pool>
              <destination-jndi-name>jms/pcmsImportFileQueue</destination-jndi-name>
              <connection-factory-jndi-name>jms/pcmsConnectionFactory</connection-factory-jndi-name>
              </message-driven-descriptor>
              <transaction-descriptor>
              <trans-timeout-seconds>3600</trans-timeout-seconds>
              </transaction-descriptor>
              <reference-descriptor>
              </reference-descriptor>
              <dispatch-policy>pcms.execute.queue.mdb.internal</dispatch-policy>
              <remote-client-timeout>0</remote-client-timeout>
              </weblogic-enterprise-bean>
              ------------------------ config.xml -----------------
              <JMSServer Name="eParcel JMS server"
              Store="eParcel JMS Server File Store" Targets="wls_pcms_prod1">
              <JMSQueue CreationTime="1190981682976"
              ErrorDestination="PCMS Import File Error Queue"
              JNDIName="jms/pcmsImportFileQueue"
              Name="PCMS Import File Queue" RedeliveryLimit="2"/>
              <JMSQueue CreationTime="1208347415759"
              JNDIName="jms/pcmsImportFileErrorQueue" Name="PCMS Import File Error Queue"/>
              </JMSServer>
              <JMSConnectionFactory JNDIName="jms/pcmsConnectionFactory"
              Name="eParcel JMS Connection Factory" Targets="wlc_pcms_prod"/>
              <JMSConnectionFactory JNDIName="jms/pcmsXAConnectionFactory"
              Name="eParcel JMS XA Connection Factory" Targets="wlc_pcms_prod" XAConnectionFactoryEnabled="true"/>
              -------------- weblogic log ---------------
              ####<24/04/2008 01:53:58 PM EST> <Warning> <EJB> <HX415> <wls_pcms_prod1> <ExecuteThread: '12' for queue: 'weblogic.kernel.Default'> <project_admin> <> <BEA-010065> <MessageDrivenBean threw an Exception in onMessage(). The exception was:
              javax.ejb.EJBException: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 3599 seconds
              Name=[EJB au.com.auspost.pcms.common.integration.ejb.ImportFileHandlerBean.handleMessage(org.apache.xmlbeans.XmlObject)],Xid=BEA1-696C9947A48195BA18DC(68926234),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=3599,seconds left=60,activeThread=Thread[ExecuteThread: '12' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=ended,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@447373e,re-Registered = false),SCInfo[wlsd_auspost_prod+wls_pcms_prod1]=(state=active),properties=({weblogic.transaction.name=[EJB au.com.auspost.pcms.common.integration.ejb.ImportFileHandlerBean.handleMessage(org.apache.xmlbeans.XmlObject)], weblogic.jdbc=t3://10.3.2.35:7003}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=wls_pcms_prod1+10.3.2.35:7003+wlsd_auspost_prod+t3+, XAResources={JMS_eParcel JMS Server File Store, weblogic, wlsd_auspost_prod, com},NonXAResources={})],CoordinatorURL=wls_pcms_prod1+10.3.2.35:7003+wlsd_auspost_prod+t3+)
              at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(I)V(ServerTransactionImpl.java:1614)
              at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(Ljava/util/List;I)V(ServerTransactionManagerImpl.java:1117)
              at weblogic.transaction.internal.TransactionManagerImpl.wakeUp()V(TransactionManagerImpl.java:1881)
              at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp()V(ServerTransactionManagerImpl.java:1034)
              at weblogic.transaction.internal.WLSTimer.trigger(Lweblogic/time/common/Schedulable;)V(WLSTimer.java:31)
              at weblogic.time.common.internal.ScheduledTrigger.run()Ljava/lang/Object;(Optimized Method)
              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(Optimized Method)
              at weblogic.security.service.SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:121)
              at weblogic.time.common.internal.ScheduledTrigger.executeLocally()V(ScheduledTrigger.java:229)
              at weblogic.time.common.internal.ScheduledTrigger.execute(Lweblogic/kernel/ExecuteThread;)V(ScheduledTrigger.java:223)
              at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(Optimized Method)
              at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:178)
              at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
              ; nested exception is: weblogic.transaction.internal.TimedOutException: Transaction timed out after 3599 seconds
              Name=[EJB au.com.auspost.pcms.common.integration.ejb.ImportFileHandlerBean.handleMessage(org.apache.xmlbeans.XmlObject)],Xid=BEA1-696C9947A48195BA18DC(68926234),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=3599,seconds left=60,activeThread=Thread[ExecuteThread: '12' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=ended,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@447373e,re-Registered = false),SCInfo[wlsd_auspost_prod+wls_pcms_prod1]=(state=active),properties=({weblogic.transaction.name=[EJB au.com.auspost.pcms.common.integration.ejb.ImportFileHandlerBean.handleMessage(org.apache.xmlbeans.XmlObject)], weblogic.jdbc=t3://10.3.2.35:7003}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=wls_pcms_prod1+10.3.2.35:7003+wlsd_auspost_prod+t3+, XAResources={JMS_eParcel JMS Server File Store, weblogic, wlsd_auspost_prod, com},NonXAResources={})],CoordinatorURL=wls_pcms_prod1+10.3.2.35:7003+wlsd_auspost_prod+t3+).

    Thanks Tom,
              Good point. The timeout exception is on ImportFileHandlerBean.handleMessage()....which is a session bean. The MDB must call this session bean, which also has a 3600 second timeout. It is confusing since the descriptor for the MDB has the transaction-timeout set, but i assume this is ignored for 'not-supported').
              I guess you would need to look at the code, but is there anyway a message go back on the queue, and not get the redelivery incremented?
              (I just had an evil thought...maybe the code could be physically sending the message onto the queue again when there is a timeout on the session bean.....hence would not get the redelivery incremented.....)
              -------------- ejb-jar.xml ----------------
              <session>
              <ejb-name>ImportFileHandler</ejb-name>
              <local-home>au.com.auspost.pcms.common.integration.ejb.ImportFileHandlerLocalHome</local-home>
              <local>au.com.auspost.pcms.common.integration.ejb.ImportFileHandlerLocal</local>
              <ejb-class>au.com.auspost.pcms.common.integration.ejb.ImportFileHandlerBean</ejb-class>
              <session-type>Stateless</session-type>
              <transaction-type>Container</transaction-type>
              </session>
              ----------- weblogic-ejb.jar.xml -----------
              <weblogic-enterprise-bean>
              <ejb-name>ImportFileHandler</ejb-name>
              <stateless-session-descriptor>
              </stateless-session-descriptor>
              <transaction-descriptor>
              <trans-timeout-seconds>3600</trans-timeout-seconds>
              </transaction-descriptor>
              <reference-descriptor>
              </reference-descriptor>
              <enable-call-by-reference>True</enable-call-by-reference>
              <local-jndi-name>ejb/ImportFileHandlerLocal</local-jndi-name>
              <remote-client-timeout>0</remote-client-timeout>
              </weblogic-enterprise-bean>

  • Transaction timeout in BPEL for webservice invocation

    [ERROR] [] [oracle.soa.bpel.engine.dispatch] [tid: orabpel.invoke.pool-4.thread-3] [userId: <anonymous>] [ecid: e8538d226bae7c2a:1914e8c0:148c67a5f26:-8000-00000000000031a2,1:27459] [APP: soa-infra] failed to handle message[[
    weblogic.transaction.internal.TimedOutException: Transaction timed out after 299 seconds
    BEA1-166C02569896A59BE380
                    at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1788)
                    at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1676)
                    at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1988)
                    at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1586)
                    at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
                    at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
                    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
                    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
                    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 299 seconds
    BEA1-166C02569896A59BE380
    This is happening when invoking a webservices from BPEL and if it takes more than 5 minutes we are getting above Error
    we have tried out SyncMaxWaitTime Property in BPEL configurations through SOA administration menu of EM. Also tried by increasing JTA timeout seconds in Service--JTA @ weblogic console.
    Any suggestion or pointers..

    Hi,
    Could help set the following...
    The timeouts should be configured based on the below condition
    SyncMaxWaitTime < BPEL EJB's transaction timeout < Global Transaction Timeout
    The values could be: SyncMaxWaitTime (3600) ; BPEL EJB's transaction timeout (3600); Global Transaction Timeout JTA (7200)
    Setting the SyncMaxWaitTime :
    This is the maximum time a synchronous BPEL process waits before it times out to get the response from another BPEL or a web service
    Login to EM console
    Expand SOA and right click on "soa-infra"
    From context menu, select SOA Administration –> BPEL properties
    Click on "More BPEL Configuration properties"
    Enter the appropriate value for the SyncMaxWaitTime
    Setting the global transaction timeout at Weblogic Domain Level:
    This property controls the transaction timeout seconds for active transactions. If the transaction is still in the "active" state after this time, it is automatically rolled back. 
    Log into Oracle Weblogic Administration Console.
    Click Services -> JTA.
    Change the value of Timeout Seconds to the required value (the default is 30)
    Click Save.
    Restart Oracle Weblogic Server.
    Overriding the transaction timeout setting for BPEL EJB's:
    The timeout properties for the EJB's control the particular timeout setting for the SOA application, overriding the global setting specified by the JTA timeout 
    Log into Oracle Weblogic Administration Console.
    Click Deployments.
    Expand soa-infra -> EJBs.
    Click on the configuration tab for the timeout setting for each of EJB’s listed below and the change the time out values as required.
    Following EJBs need to be updated:
    BPELActivityManagerBean  
    BPELDeliveryBean
    BPELDispatcherBean
    BPELEngineBean
    BPELFinderBean
    BPELInstanceManagerBean
    BPELProcessManagerBean
    BPELSensorValuesBean
    BPELServerManagerBean
    Click Save.
    Restart Oracle Weblogic Server.
    I hope you find it useful!
    hugs!

  • Wls 10.3 weblogic-webservices.xml transaction-timeout attribute not working

    Hi, need some urgent need.
    I have a stateless ejb webservice and I'm trying to set the transaction timeout for some of the methods. Right now my webservice transaction is timing out to the default of 30 secs. I've tried setting in the admin console the JTA transaction timeout option, didn't work (file a case with bea support #81233). And after days of researching and searching I came across that you can setup the weblogic webservice transaction-timeout thru the weblogic-webservices.xml deployment descriptor. Tried setting the transaction-timeout attribute to 120 secs. and that didn't work. Here is the snippet of the xml file.
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-webservices xmlns="http://www.bea.com/ns/weblogic/weblogic-webservices" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-webservices http://www.bea.com/ns/weblogic/weblogic-webservices/1.0/weblogic-webservices.xsd">
    <webservice-description>
    <webservice-description-name>com.starcomsoft.pp.system.jws.SystemWSImpl</webservice-description-name>
    <webservice-type>JAXRPC</webservice-type>
    <port-component>
    <port-component-name>SystemWSSoapPort</port-component-name>
    <service-endpoint-address>
    <webservice-contextpath>starcomsoft_ws</webservice-contextpath>
    <webservice-serviceuri>/SystemWSImpl</webservice-serviceuri>
    </service-endpoint-address>
         <transaction-timeout>120</transaction-timeout>
         <reliability-config>
              <inactivity-timeout>P0DT600S</inactivity-timeout>
         </reliability-config>
    </port-component>
    </webservice-description>
    </weblogic-webservice>
    Does anybody have any clue to solve my urgent need.
    Thanks in advance for your help or suggestion.

    Unhandled exception
    Type=Segmentation error vmState=0x00040000
    J9Generic_Signal_Number=00000004 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000033
    Handler1=F144C588 Handler2=F1446A9C
    Module=/app/oracle/product/Middleware/wlserver_10.3/server/native/aix/ppc/libmuxer.so
    Module_base_address=D8457000
    Target=2_40_20091214_049398 (AIX 5.3)
    CPU=ppc (4 logical CPUs) (0x600000000 RAM)
    ----------- Stack Backtrace -----------
    (0xD696E748 [libj9vm24.so+0x48748])
    (0xD8383EDC [libjclscar_24.so+0x10edc])
    (0xD8384514 [libjclscar_24.so+0x11514])
    (0xD6967718 [libj9vm24.so+0x41718])
    (0xD6967158 [libj9vm24.so+0x41158])
    (0xD69640D0 [libj9vm24.so+0x3e0d0])
    (0xD6932C9C [libj9vm24.so+0xcc9c])
    (0xD69BBA18 [libj9prt24.so+0x3a18])
    (0xD6932BB8 [libj9vm24.so+0xcbb8])
    (0xD69A77CC [libj9thr24.so+0x27cc])
    pthreadbody+0x118 (0xD010D784 [libpthreads.a+0x3784])

  • Transaction timeout when two system communicate by web service.

    Currently, our application run under WLS 10, and exchange data with another system build on WLS 10 also by web service.
              These two system both set global transaction timeout through Console: Server-->Configuration-->JTA-->Timeout Seconds, set number is 1800s.
              Long time operation within one system is ok, never meet tracation timeout exception. But, when one system call another system via web service, always meet below exception(same operation run under wls 8.1 is ok):
              15-02-2008@17:35:56 ERROR leave : [[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'] [CTLeaveWebService@PSA] [B2E_CTLeave.Get_Leave_Info] Exception Occured, Failure creating new instance of RowMapper, org.apache.beehive.controls.api.ControlException: RowToObjectMapper: SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 30 seconds
              BEA1-067F39AED8C5E04484B3
              at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1419)
              at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331)
              at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189)
              at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64)
              at weblogic.jdbc.wrapper.ResultSetMetaData.preInvocationHandler(ResultSetMetaData.java:37)
              at weblogic.jdbc.wrapper.ResultSetMetaData_oracle_jdbc_driver_OracleResultSetMetaData.getColumnCount(Unknown Source)
              at org.apache.beehive.controls.system.jdbc.RowToObjectMapper.<init>(RowToObjectMapper.java:63)
              at sun.reflect.GeneratedConstructorAccessor136.newInstance(Unknown Source)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
              at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getMapper(RowMapperFactory.java:160)
              at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getRowMapper(RowMapperFactory.java:85)
              at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.arrayFromResultSet(DefaultObjectResultSetMapper.java:93)
              at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.mapToResultType(DefaultObjectResultSetMapper.java:61)
              at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.execPreparedStatement(JdbcControlImpl.java:370)
              at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.invoke(JdbcControlImpl.java:228)
              at com.psa.citos.rms.leave.services.resouces.StaffLeaveDBBean.getLeaveDetailsByLvEmpIdStDtEndDtStatusInArray(StaffLeaveDBBean.java:198)
              at com.psa.citos.rms.leave.services.bizlogic.StaffLeaveServiceImpl.getLeaveDetailsByLvEmpIdStDtEndDt(StaffLeaveServiceImpl.java:276)
              at com.psa.citos.rms.leave.services.bizlogic.StaffLeaveServiceBean.getLeaveDetailsByLvEmpIdStDtEndDt(StaffLeaveServiceBean.java:1112)
              at com.psa.citos.rms.leave.services.bizlogic.LeaveServiceImpl.getLeaveDetailsByLvEmpIdStDtEndDt(LeaveServiceImpl.java:337)
              at com.psa.citos.rms.leave.services.bizlogic.LeaveServiceBean.getLeaveDetailsByLvEmpIdStDtEndDt(LeaveServiceBean.java:596)
              at com.psa.citos.rms.leave.facades.WebServiceFacadesImpl.getStaffLeaveInfoForRoster(WebServiceFacadesImpl.java:254)
              at com.psa.citos.rms.leave.facades.WebServiceFacadesBean.getStaffLeaveInfoForRoster(WebServiceFacadesBean.java:250)
              at com.psa.citos.rms.leave.webservice.CTLeaveWebService.getLeaveInfo(Unknown Source)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at weblogic.wsee.component.pojo.JavaClassComponent.invoke(JavaClassComponent.java:99)
              at weblogic.wsee.ws.dispatch.server.ComponentHandler.handleRequest(ComponentHandler.java:64)
              at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:123)
              at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:85)
              at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
              at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
              at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
              at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:257)
              at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:156)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
              at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3392)
              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              at weblogic.security.service.SecurityManager.runAs(Unknown Source)
              at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
              at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
              at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
              [java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 30 seconds
              Data Sourse config:
              URL: jdbc:oracle:thin:@xxxxxx:1521:xxxxxx
              Driver Class Name: oracle.jdbc.xa.client.OracleXADataSource
              Can help to advise what this exception cause and how to resolve?
              thanks and best regards.
              Edited by rendlut at 02/17/2008 7:29 PM
              Edited by rendlut at 02/17/2008 7:38 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    r c wrote:
              > Currently, our application run under WLS 10, and exchange data with another system build on WLS 10 also by web service.
              > These two system both set global transaction timeout through Console: Server-->Configuration-->JTA-->Timeout Seconds, set number is 1800s.
              >
              > Long time operation within one system is ok, never meet tracation timeout exception. But, when one system call another system via web service, always meet below exception(same operation run under wls 8.1 is ok):
              >
              > 15-02-2008@17:35:56 ERROR leave : [[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'] [CTLeaveWebService@PSA] [B2E_CTLeave.Get_Leave_Info] Exception Occured, Failure creating new instance of RowMapper, org.apache.beehive.controls.api.ControlException: RowToObjectMapper: SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 30 seconds
              > BEA1-067F39AED8C5E04484B3
              > at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1419)
              > at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331)
              > at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:189)
              > at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:64)
              > at weblogic.jdbc.wrapper.ResultSetMetaData.preInvocationHandler(ResultSetMetaData.java:37)
              > at weblogic.jdbc.wrapper.ResultSetMetaData_oracle_jdbc_driver_OracleResultSetMetaData.getColumnCount(Unknown Source)
              > at org.apache.beehive.controls.system.jdbc.RowToObjectMapper.<init>(RowToObjectMapper.java:63)
              > at sun.reflect.GeneratedConstructorAccessor136.newInstance(Unknown Source)
              > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
              > at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
              > at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getMapper(RowMapperFactory.java:160)
              > at org.apache.beehive.controls.system.jdbc.RowMapperFactory.getRowMapper(RowMapperFactory.java:85)
              > at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.arrayFromResultSet(DefaultObjectResultSetMapper.java:93)
              > at org.apache.beehive.controls.system.jdbc.DefaultObjectResultSetMapper.mapToResultType(DefaultObjectResultSetMapper.java:61)
              > at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.execPreparedStatement(JdbcControlImpl.java:370)
              > at org.apache.beehive.controls.system.jdbc.JdbcControlImpl.invoke(JdbcControlImpl.java:228)
              > at com.psa.citos.rms.leave.services.resouces.StaffLeaveDBBean.getLeaveDetailsByLvEmpIdStDtEndDtStatusInArray(StaffLeaveDBBean.java:198)
              > at com.psa.citos.rms.leave.services.bizlogic.StaffLeaveServiceImpl.getLeaveDetailsByLvEmpIdStDtEndDt(StaffLeaveServiceImpl.java:276)
              > at com.psa.citos.rms.leave.services.bizlogic.StaffLeaveServiceBean.getLeaveDetailsByLvEmpIdStDtEndDt(StaffLeaveServiceBean.java:1112)
              > at com.psa.citos.rms.leave.services.bizlogic.LeaveServiceImpl.getLeaveDetailsByLvEmpIdStDtEndDt(LeaveServiceImpl.java:337)
              > at com.psa.citos.rms.leave.services.bizlogic.LeaveServiceBean.getLeaveDetailsByLvEmpIdStDtEndDt(LeaveServiceBean.java:596)
              > at com.psa.citos.rms.leave.facades.WebServiceFacadesImpl.getStaffLeaveInfoForRoster(WebServiceFacadesImpl.java:254)
              > at com.psa.citos.rms.leave.facades.WebServiceFacadesBean.getStaffLeaveInfoForRoster(WebServiceFacadesBean.java:250)
              > at com.psa.citos.rms.leave.webservice.CTLeaveWebService.getLeaveInfo(Unknown Source)
              > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              > at java.lang.reflect.Method.invoke(Method.java:585)
              > at weblogic.wsee.component.pojo.JavaClassComponent.invoke(JavaClassComponent.java:99)
              > at weblogic.wsee.ws.dispatch.server.ComponentHandler.handleRequest(ComponentHandler.java:64)
              > at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:123)
              > at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:85)
              > at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
              > at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
              > at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
              > at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:257)
              > at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:156)
              > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              > at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
              > at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
              > at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
              > at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
              > at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3392)
              > at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              > at weblogic.security.service.SecurityManager.runAs(Unknown Source)
              > at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
              > at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
              > at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
              > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
              > at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
              > [java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 30 seconds
              >
              > Data Sourse config:
              > URL: jdbc:oracle:thin:@xxxxxx:1521:xxxxxx
              > Driver Class Name: oracle.jdbc.xa.client.OracleXADataSource
              >
              >
              > Can help to advise what this exception cause and how to resolve?
              >
              > thanks and best regards.
              >
              > --
              > Edited by rendlut at 02/17/2008 7:29 PM
              >
              > --
              > Edited by rendlut at 02/17/2008 7:38 PM
              In the console, you can set the JTA timeout to
              something more appropriate for your needs than
              the default 30 seconds.
              Joe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Global Transaction Timeout

    Hi All-
    Lets say we have global transaction timeout set as 30 sec (transaction-manager.xml) and one of my database adapter is taking 10 mins to complete, is there any problem in that? DO we have to set any property on database adpater?
    The database adapter invoke, Is it a asynch or sync process?
    Regards,
    Sreejit

    Hi Shanmu,
    I am using release 10.1.3.3.0 and we are calling the database adapter to call the standard ERP api to import purchase order and it takes MAX time 10-15 minutes to complete the process.
    Major step in our bpel process:
    1. first activity is to receive the file polling, MAX 10 seconds.
    2. calls database adapter for logging purpose, creates one row in table, MAX time 10 seconds.
    3. Calls database adapter to validate and insert the 500 records, MAX time 10 seconds.
    4. Calls OA adapter to call the Oracle EBS R12 standard API to create Purchase order, MAX time 10-15 minutes.
    5. Calls database adapter to call the post update process, MAX time 5 minutes.
    6. deletes the file fileadapter, MAX time 2 sec
    7. Calls database adapter to update one row for logging purpose, MAX time 2 seconds.
    Current transaction timeout is set as 30 second in SOA_Oracle_Home\j2ee\home\config\transaction-manager.xml and 60 or somewhere 120 in SOA_Oracle_Home\j2ee\home\application-deployments\orabpel\ejb_ob_engine\orion-ejb-jar.xml
    Do you think that we need to increase the time out more than the time taking by the adapter No.4 and No. 5?
    And thanks for the information between 10g and 11g.
    Regards,
    Sreejit

  • Impost a EJB transaction timeout

              Hello...
              I have a problem....I need to impost a transaction timeout on a stateless ejb
              call
              without generate the transaction but only with a new Context and the successive
              lookup.
              This for return the ejb called in case witch this then called another another
              remote ejb but this not give response......so that I can make finish the transaction
              first that the second ejb goes in timeout...
              Is this possible with the stateless ejb also setting some weblogic parameter?
              I work with an J2EE 2.0 application under WLS6.1 SP5 .
              thanks.
              

              This isn't really possible. If your second bean throws an exception if it doesn't
              respond then you can always catch this and call setRollbackOnly() (or let the
              container do this for you); if however the second bean doesn't respond and blocks
              for a long time, then the transaction timeout won't help. WebLogic implements
              the transaction timeout on another thread so it can keep good time, but can only
              signal your bean when it tries to do something transactional - and if it's blocked
              in another method this might not happen.
              simon.
              "rion" <[email protected]> wrote:
              >
              >Hello...
              >I have a problem....I need to impost a transaction timeout on a stateless
              >ejb
              >call
              >without generate the transaction but only with a new Context and the
              >successive
              >lookup.
              >This for return the ejb called in case witch this then called another
              >another
              >remote ejb but this not give response......so that I can make finish
              >the transaction
              >first that the second ejb goes in timeout...
              >Is this possible with the stateless ejb also setting some weblogic parameter?
              >I work with an J2EE 2.0 application under WLS6.1 SP5 .
              >thanks.
              >
              

  • EJB Transaction Timeout

    Hi,
    we have set the following in bc4j.xcfg for our AppicationModule which is deployed as EJB with BMT:
    <jbo.ejb.txntimeout>0</jbo.ejb.txntimeout>
    With jbo.debugoutput=console we get the following lines
    including "Transaction timeout set to 0 secs"
    [298] Diagnostic Properties: Timing:false Functions:false Linecount:true Threshold:6
    [299] Loading from /de/materna/heimabrechnung/common/logging/logging.xml file
    [300] Loading from indvidual XML files
    [301] Loading the Containees for the Package 'de.materna.heimabrechnung.common.logging.logging'.
    [302] Loading from /de/materna/heimabrechnung/common/logging/LoggingModule.xml file
    [303] Loading from /de/materna/heimabrechnung/common/logging/LogEintragView.xml file
    [304] Loading from /de/materna/heimabrechnung/common/logging/LogEintrag.xml file
    [305] Loading from /de/materna/heimabrechnung/common/logging/LogStacktraceView.xml file
    [306] Loading from /de/materna/heimabrechnung/common/logging/LogStacktrace.xml file
    [307] mUsePersColl is false
    [308] ViewObjectImpl.mDefaultMaxRowsPerNode is 70
    [309] ViewObjectImpl.mDefaultMaxActiveNodes is 30
    [310] Transaction timeout set to 0 secs
    [311] Created root application module: 'de.materna.heimabrechnung.common.logging.LoggingModule'
    [312] Locale is: 'en'
    [313] Transaction timeout set to 0 secs
    [314] Trying connection: DataSource='com.evermind.sql.OrionCMTDataSource/heimabrechnung/jdbc/HeimabrechnungDS'...
    [315] Successfully logged in
    But after a while not using the ApplicationModule on the client the server throws the following exception:
    java.lang.NullPointerException
    at oracle.jbo.server.remote.ejb.EJBApplicationModuleImpl.resumeTransaction(EJBApplicationModuleImpl.java:635)
    at de.materna.heimabrechnung.common.logging.server.ejb.beanmanaged.LoggingModuleServer.logDebug(LoggingModuleServer.java:6
    0)
    at RemoteLoggingModule_StatefulSessionBeanWrapper20.logDebug(RemoteLoggingModule_StatefulSessionBeanWrapper20.java:1383)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:119)
    at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:802)
    at java.lang.Thread.run(Thread.java:484)
    Any ideas ?
    What we need are EJB's without any timeout!

    The following configuration seems working:
    version: OC4J (9.0.3.0.0) (build 020927.1699)
    AM deployment:
    - bc4j.xcfg: <jbo.ejb.txntimeout>30000</jbo.ejb.txntimeout>
    - orion-ejb-jar.xml: <session-deployment name="..." timeout="0"/>
    OC4J config:
    - data-source: inactivity-timeout="30000"
    This keeps connection open for more than default 30 mins of inactivity (30000 secs configured).
    Although, oc4j console prints multiple warnings:
    DriverManagerConnectionPoolConnection not closed, check your code!
    Looks like this is not an intended usage - but working.
    Notice that it was a test, not a production environment.
    Also pls see 9033: AM as EJB Session bean: pooled connection lost for new txn
    I would be thankful for any experience in running AM Session EJB w/o timeout.

  • Transaction Timeout - Issue

    Hi,
    I'm facing a strange issue. I'm finding it even difficult to explain it to others..!!
    I'm using Weblogic 8.
    I'm getting a transaction Timeout Exception after the configured timeout period , that is, 3600 Seconds.
    I'm using a stateless Session bean and the transaction is managed by the container.
    My databese query is executing fine . It takes only a few milliseconds to get the required results. But the ejb method is not returning back to the caller.
    I think something wrong is happening when the commit is invoked on the transaction.
    And here is the strangest part.
    The problem is only for 1 to 1.5 hours immediately after the server restart.
    After a certain period of time, it is working quite normally.
    I'm not giving the exception trace - its nothing but a usual weblogic.transaction.RollbackException saying *'Transaction timed out after 3600 seconds'*
    Please help me if anybody have any idea. Please let me if you need more information on the issue.
    Thanks in advance,
    Jijo

    Its a unix machine. And its a dedicated server.
    Connection pool is giving connections without any issues.
    Though all the requests are handled by the same ejb method, the exception occurs for certain cases only.
    Also, once a transaction is timed out for the first time, further requests are executing perfectly without any issues for the same test cases. Its a bit weird..!!
    I use SignSoft intelliBO persistence mechanism. Not really sure whether its an IntelliBO issue or not.
    Really stuck..!!!
    :)

  • How to catch global transaction timeout event

    Hi all,
    I need to find a way to catch global transaction timeout events. By default, there are only two transaction related events can be caught:
    .SysTransactionHeuristicAbort
    .SysTransactionHeuristicCommit
    Is there a way to add transaction timeout to the list. Thanks in advance.

    Note: This thread was originally posted in the [Java Programming|http://forums.sun.com/forum.jspa?forumID=31] forum, but moved to this forum for closer topic alignment.

  • Blocking vs transactional timeout

    Hello all,
    I'm having some questions regarding timeout handling that I would appreciate your
    thoughts (and facts!) on.
    When my client makes a tpcall() it will be subject to a blocking timeout which
    is just fine by me (I don't want to wait forever). The problem is that when I
    get the blocking timeout and report an error to the user, the service may have
    completed the work in the "background" just fine (just a bit slower than normal).
    This means that I'm reporting an error when the service worked OK, which may seem
    a bit confusing to the user.
    Plan B would be to use a client-initiated transaction with a transaction time-out.
    In this case I would know that a time-out would mean that the transaction would
    be rollback-only and there would be no doubt that the user's operation failed.
    This is clearly a better behaviour. On the other hand, it would imply a re-write
    of some rather sensitive and well tested code... and I guess that tpcommit() would
    add another round-trip to the server from my time-critical /WS client. (Would
    tpbegin() add a round-trip, too?)
    I'm therefore thinking of a Plan C instead. What would AUTOTRAN and TRANTIME add
    to this situation? Would TRANTIME override the blocking timeout? Normally a transactional
    timeout overrides a blocking time-out, but is an AUTOTRAN transaction "logically"
    started by the client (meaning transactional timeout overrides blocking) or by
    the service (meaning that a "slow" service simply fails at commit-time and the
    client is still subject to a possibly different blocking timeout)?
    Any input on this welcome,
    /Per

    In Plan C, a client won't know that a service is running in AUTOTRAN mode, so it
    will still be subject to BLOCKTIME.
    To get more control, use tpacall/tpgetrply. If the tpgetrply returns with a
    timeout, you can decide whether to try it again if you think your service is
    taking a little too long.
    A more complex architecture could use a conversational service, with a thread to
    do the actual work, and a thread to send back periodic "I'm still working"
    messages. Sort of an application-velel keepalive. If you don't even get the "I'm
    still working message" after BLOCKTIME, then you can give up.
         Scott
    Per Lindström wrote:
    Hello all,
    I'm having some questions regarding timeout handling that I would appreciate your
    thoughts (and facts!) on.
    When my client makes a tpcall() it will be subject to a blocking timeout which
    is just fine by me (I don't want to wait forever). The problem is that when I
    get the blocking timeout and report an error to the user, the service may have
    completed the work in the "background" just fine (just a bit slower than normal).
    This means that I'm reporting an error when the service worked OK, which may seem
    a bit confusing to the user.
    Plan B would be to use a client-initiated transaction with a transaction time-out.
    In this case I would know that a time-out would mean that the transaction would
    be rollback-only and there would be no doubt that the user's operation failed.
    This is clearly a better behaviour. On the other hand, it would imply a re-write
    of some rather sensitive and well tested code... and I guess that tpcommit() would
    add another round-trip to the server from my time-critical /WS client. (Would
    tpbegin() add a round-trip, too?)
    I'm therefore thinking of a Plan C instead. What would AUTOTRAN and TRANTIME add
    to this situation? Would TRANTIME override the blocking timeout? Normally a transactional
    timeout overrides a blocking time-out, but is an AUTOTRAN transaction "logically"
    started by the client (meaning transactional timeout overrides blocking) or by
    the service (meaning that a "slow" service simply fails at commit-time and the
    client is still subject to a possibly different blocking timeout)?
    Any input on this welcome,
    /Per

  • BMT and transaction timeout

    Hello,
    Does anybody knows what the behavior should be for a Session EJB with BMT (using JTA) after a transaction timeout? Does the container performs a database rollback for you immediately after the time-out event? I’ve noticed that JBoss does not perform a rollback but Web does. What do the J2EE specs say what should happen?
    We are experiencing database locks in an Oracle database caused by ‘hanging’ JTA-transactions which aren’t removed after a timeout. An application server restart will remove them. We are trying to find the cause, there fore I’am posting this message.
    Regards,
    Marteyn Heijlaerts

              "Laurel Neustadter" <[email protected]> wrote:
              >
              >Hi:
              >
              >The WLS 6.0 documentation states that for a CMT bean, one specifies the
              >transaction
              >timeout in weblogic-ejb-jar.xml, and for a BMT bean, one specifies the
              >transaction
              >timeout via UserTransaction.setTransactionTimeout().
              >
              >You also set a transaction timeout attribute at the domain level. How
              >does the
              >domain level attribute work into all of this? How is it used?
              >
              >For example, if a transaction timeout value is not specified at the bean
              >level,
              >will the domain level value be used?
              >
              >Laurel
              Yes, the domain level timeout is the default.
              It is overridden by any setting at the EJB level. This in turn
              can be overridden by the client calling the EJB, if the client
              starts a transaction and uses
              transactionManager.setTransactionTimeout()
              

  • Problem with transacted JMS connection factory and transaction timeouts

              We encountered an interesting problem using transacted JMS connection factories.
              An EJB starts a container managed transaction and tries to validate a credit card
              before creating some information to a database for the user, in case of success
              an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
              duration is about the same as the transactions timeout (in this case the default
              30 seconds) sometimes the database inserts is committed but the JMS insert is
              rollbacked. How can this be?
              If the authorization duration is much longer than 30 seconds everything works
              fine (both database and JMS inserts rollbacked), the same is true if a rollback
              is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
              if the duration is approximately the same as the transaction timeout, it appears
              that the database insert is not timeouted but the JMS insert is. How can this
              be if they are both participating in the same transaction.
              The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
              is the same also with the default "javax.jms.QueueConnectionFactory" and if we
              configure our own factory with user transactions enabled.
              Any help appreciated!
              

    Tomas Granö wrote:
              > We encountered an interesting problem using transacted JMS connection factories.
              > An EJB starts a container managed transaction and tries to validate a credit card
              > before creating some information to a database for the user, in case of success
              > an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
              > duration is about the same as the transactions timeout (in this case the default
              > 30 seconds) sometimes the database inserts is committed but the JMS insert is
              > rollbacked. How can this be?
              It should not be.
              >
              > If the authorization duration is much longer than 30 seconds everything works
              > fine (both database and JMS inserts rollbacked), the same is true if a rollback
              > is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
              > if the duration is approximately the same as the transaction timeout, it appears
              > that the database insert is not timeouted but the JMS insert is. How can this
              > be if they are both participating in the same transaction.
              >
              > The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
              > is the same also with the default "javax.jms.QueueConnectionFactory" and if we
              > configure our own factory with user transactions enabled.
              >
              > Any help appreciated!
              Make sure that your session is not "transacted". In other words,
              the first parameter to createSession() must be false. There is an
              unfortunate name re-use here. If a session is "transacted", it
              maintains an independent "inner transaction" independent of the
              outer transaction. From the above description, it seems unlikely
              that your application has this wrong, as you say that
              "setRollbackOnly" works - but please check anyway.
              Make sure that you are using a true XA capable driver and database
              (XA "emulation" may not suffice)
              Beyond the above, I do not see what can be going wrong. You
              may want to try posting to the transactions and jdbc newsgroups. Note
              that JMS is appears to be exhibiting the correct behavior, but the
              JDBC operation is not. The JDBC operation appears to have
              its timeout independent of the transaction monitor's timeout.
              Tom
              

  • Transaction timeouts of 242 seconds

    Hi All,
    I am getting transaction timeouts of 242 seconds. Can somebody help me where
    is this timeout value configured and how change it?
    Here We are Using Weblogic 8.1
    Stateless Session Bean, DAO, Servlets and JSPs
    The log file says as
    <DEBUG>SQLException: The transaction is no longer active - status: 'Marked rollback.
    [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out
    after 242 secon
    ds
    Name=[EJB com.hartfordlife.gbd.pvev.ejb.participantadmin.ParticipantAdministrationEJB.getPADownloadCaseCoverage(java.util.ArrayList,java.lang.String,java.lang.String)],Xid=BEA1-003
    0E44EFCA87F28EDB9(14529255),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=242,seconds left=60,activeThread=Thread[ExecuteThread: '9' for queue:
    'weblo
    gic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTS
    XAResourceImpl]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@10c624a),SCInfo[mydomain+myserver]=(state=active),properties=({weblogic.transaction.name=[
    EJB com.hartfordlife.gbd.pvev.ejb.participantadmin.ParticipantAdministrationEJB.getPADownloadCaseCoverage(java.util.ArrayList,java.lang.String,java.lang.String)],
    weblogic.jdbc=t3:
    //157.209.165.64:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+157.209.165.64:7001+mydomain+t3+,
    XAResources={},NonXAResources={})],C
    oordinatorURL=myserver+157.209.165.64:7001+mydomain+t3+)]'. No further JDBC access
    is allowed within this transaction.
    <DEBUG>SQLErrorCode: 0
    <DEBUG>SQLState: null
    java.sql.SQLException: The transaction is no longer active - status: 'Marked rollback.
    [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out
    after 242 seconds
    Thanks in Advance
    Sai
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Unfortunately, it seems to work different in JBoss7. I created a very simple app and it waits until end of query execution instead of interrupting it.
    I'm porting application from weblogic to JBoss7 and it is critical for me to achieve identical behavior.

Maybe you are looking for

  • Mirroring on 2010 macbook air

    I have an upspecced 13" late 2010 macbook air. I have mountain lion installed. I am very dissapointed to find I can't mirror to my apple tv, the same goes for my 2010 macmini. Before I consider upgrading to new kit, do I have any options here? Any fi

  • My genius results cannot be delivered. Unknown error 13010.

    My genius results cannot be delivered. Unknown error 13010. Therefore itunes match doesn't work neither. I already tried deleting the genius itdb file. Didnt work. My music is on an external drive. Can anyone help?

  • JCO difference between SAP J2ee 620 and Webas 640 for Internet Sales

    Does anyone have some information on how Internet Sales manages JCO calls to R/3 or CRM on WebAS 640? Till J2EE 620 the sapjco.jar file directory had to be in classpath along with the relevant dlls in WinNt directory. WebAs 640 Java installation does

  • Hello, my phone has crashed and will not be recognised on computer

    I connected my I phone 3GS to the computer to reset it and it said there was a software up date, so did this, half way through the system crashed. Now my oh e has the apple icon on with a bar underneath and it is no longer being recognised on I tunes

  • SOAP Frame work Error for ADOBE FORMS

    Dear Concerned, I am trying to incorporate ADOBE forms in my SAP ECC 6 system, Kindly tell me what are the system configuration that i need to do. I have created a demo FORM but when it try to actvate it gived error message "SOAP Frame work error" Be