Developers who implement business logic in their entity object's beforeCommit() trigger will be interested in a new configuration parameter that we have added for 9.0.3.4 in the BC4J framework. The parameter is jbo.txn.handleafterpostexc . This new parameter defaults to false, but if set to true in your configuration will automatically handle exceptions thrown in the beforeCommit() methods of your entities by "rolling back" the state of the application module using a passivation snapshot that it will take before starting the entity posting cycle.
When this flag is true, the framework will take an in-memory snapshot of the pending state of the application module, and then use this snapshot to reinstate that same pending state in case any of the beforeCommit() methods fail with an exception. If everything goes successfully with no errors, the in-memory snapshot is not used and will just get garbage collected.
10:36:01 AM
|