How to Make Sure The Transaction Rollback After Timeout Exception Occur?
Last updated on JUNE 18, 2017
Applies to:Oracle Communications Billing and Revenue Management - Version 126.96.36.199.0 and later
Information in this document applies to any platform.
*** Checked for relevance on 19-Dec-2012 ***
On Oracle Communications Billing and Revenue Management(BRM) Applications, how to make sure the transaction rollback after timeout exception occur?
In a client application to invoke opcode by PortalContext, the infranet.PcmTimeoutInMsecs value is set in Infranet.properties file. When the timeout occurs, and then it closes the PortalContext, but the transaction does not rollback. According to the document "Specifying a timeout value for requests", CM should rollback the ongoing transaction and shut it down. So the data should be discarded automatically after closing the PortalContext.
The reproduce steps are:
1. Lock the table account_nameinfo_t by this statement, lock table account_nameinfo_t in EXCLUSIVE mode.
2. Invoke CUST_SET_NAMEINFO opcode.
3. Wait until the client received timeout exception.
4. Close the PortalContext by ctx.close(true) method.
5. Check the table account_nameinfo_t, its value is not update, yet.
6. Unlock the table account_nameinfo_t.
7. Check the table account_nameinfo_t, and found the value has been updated.
If the user add the transaction control, the transaction is done as expected.
User begin a transaction between step 1 and 2, and commit the transaction between step 2 and 3.
If timeout occurs, abort the transaction. Then, after aborting the transaction, all data change is discarded.
Want to confirm whether the transaction control is necessary if the data change need to be discarded after timeout happen.
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