Global Transaction Timeout Is Exceeded Even If TIMEOUT Property Is Used Because of "Bad expiration date format" (Doc ID 1349775.1)

Last updated on AUGUST 22, 2011

In this Document
  Symptoms
  Cause
  Solution


Symptoms

You have developed a SOA Composite Application and have successfully deployed this to Oracle Fusion Middleware 11g Release 1.

Within the implementation of your composite you have an activity such as an INVOKE to a JCA Adapter (for example, a call to a database stored procedure through the Database Adapter) or a correlated RECEIVE, such that the INVOKE or RECEIVE activity can take an arbitrary amount of time during the current transaction.

Since the time at which the activity can receive it's expected response lies outside of the control of the process, you are utilizing an appropriate TIMEOUT property to prevent the process from exceeding the Global Transaction Timeout, which you are setting dynamically. However at runtime you encounter encounter the following exception, possibly intermittently:

[2011-06-28T02:10:59.093-05:00] [soa_server1] [WARNING] [] [oracle.soa.scheduler.logging]
[tid: [ACTIVE].ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>]
[ecid: 0000J3L44cO6QPD5nBx0iZ1E1A0M0011fv,0] [WEBSERVICE_PORT.name: SubmitOrder_pt] [APP: soa-infra]
[composite_name: CustomerOrder] [component_name: SubmitOrder]
[component_instance_id: 1120442] [J2EE_MODULE.name: fabric]
[dcid: cf850d13de905def:6e5ee72b:130c2129b99:-7ffd-0000000000017ea4]
[WEBSERVICE.name: submitorder_client_ep] [J2EE_APP.name: soa-infra]
ExpirationAgent.registerTransactionListener failure!
weblogic.transaction.RollbackException: Transaction timed out after 302 seconds [[
BEA1-77B48408CA24A4A7D3CF
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1871)
at weblogic.transaction.internal.ServerTransactionImpl.registerSynchronization(ServerTransactionImpl.java:585)
at oracle.integration.platform.blocks.scheduler.QrtzSchedulerServiceImpl.registerTransactionListener(QrtzSchedulerServiceImpl.java:322)
at oracle.integration.platform.blocks.scheduler.QrtzSchedulerServiceImpl.scheduleJob(QrtzSchedulerServiceImpl.java:172)
at com.collaxa.cube.engine.agents.ExpirationAgent.scheduleWorkItem(ExpirationAgent.java:197)
at com.collaxa.cube.engine.agents.ExpirationAgent.scheduleWorkItem(ExpirationAgent.java:149)
at com.collaxa.cube.engine.agents.ExpirationAgent.scheduleWorkItem(ExpirationAgent.java:116)
at com.collaxa.cube.engine.CubeEngine.checkExpirable(CubeEngine.java:3890)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2549)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1133)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:219)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:327)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4350)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4282)
at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:108)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:150)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean.syncCreateAndInvoke(BPELEngineBean.java:111)

In addition to the above runtime error (seen when the composite is invoked), earlier in the logs prior to each invocation you see the following exception:

[2011-06-24T05:02:13.774-05:00] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.bpel]
[tid: [ACTIVE].ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)']
[userId: <anonymous>] [ecid: 0000J316OCm6QPD5nBx0iZ1E080O000oDV,0]
[WEBSERVICE_PORT.name: SubmitOrder_pt] [APP: soa-infra] [composite_name: CustomerOrder]
[component_name: SubmitOrder] [component_instance_id: 1100391] [J2EE_MODULE.name: fabric]
[dcid: cf850d13de905def:-20decc36:130b1f622a1:-7ffd-000000000001693b]
[WEBSERVICE.name: submitorder_client_ep] [J2EE_APP.name: soa-infra]
<BPELReceiveWMP::__defineExpirationDate> Bad expiration date format, and this expiration date will be ignored[[
java.lang.IllegalArgumentException: Duration has to start with 'P'.

at com.collaxa.cube.xml.schema.XMLSchemaUtils.parseDuration(XMLSchemaUtils.java:86)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELReceiveWMP.__defineExpirationDate(BPELReceiveWMP.java:252)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELWMP.manage(BaseBPELWMP.java:85)
at com.collaxa.cube.engine.CubeEngine.manageScope(CubeEngine.java:2287)
at com.collaxa.cube.engine.CubeEngine.checkManageScope(CubeEngine.java:3795)
at com.collaxa.cube.engine.CubeEngine.finalizeActivity(CubeEngine.java:2894)
at com.collaxa.cube.engine.CubeEngine.checkBlockConditions(CubeEngine.java:3557)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2490)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1133)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms