Wednesday, September 4, 2019

12c SOA - inMemoryOptimization

inMemoryOptimization
  • This property indicates to Oracle BPEL Server that this process is a transient process and dehydration of the instance is not required. 
  • When set to True, the completionPersistPolicy is used to determine persistence behavior. 
  • This property can only be set to True for transient processes or processes that do not contain any dehydration points such as receive, wait, onMessage and onAlarm activities. 
  • The inMemoryOptimization property is set at the BPEL component level. When set to True, dehydration is disabled which can improve performance in some use cases.
This property has the following values:
False (default): instances are persisted completely and recorded in the dehydration store database.
True: The completionPersist policy is used to determine persistence behavior.

completionPersistPolicy
This property configures how the instance data is saved. It can only be set at the BPEL component level. The completionPersistPolicy property can only be used when inMemoryOptimization is set to be True (transient processes).

Values:
  • on (default): Completed instances are saved normally.
  • deferred: All flow, audit, and state data is initially persisted to the Coherence cache. A separate write-behind thread performs a deferred write of the cache to the database. The write-behind thread wakes up at periodic intervals, the default being 5 minutes.
  • Faulted: The flow trace, BPEL audit trace, and flow instance state data is not persisted for successful executions. If the flow encounters a fault, then all data is persisted to the database. Once the flow has been recovered, all flow data is purged. If a component reaches dehydration point, then the state data is persisted to the Coherence cache.
  • Off: No instances (and their data) are saved.
  • Immediate : The flow trace, BPEL audit trace, and flow instance state data is always persisted to the database.
Impact:
  • This property can greatly impact the database growth.
  • It can also impact the throughput (due to reduced I/O)
Syntax to add in composite.xml
<component name="BPELProcess">
 <implementation.bpel src="BPELProcess.bpel" />
 <property name="bpel.config.completionPersistPolicy">faulted</property>
 <property name="bpel.config.inMemoryOptimization">true</property>
   ...
</component>

Steps to Enable In-Memory SOA: 
 Set the inMemoryEnvironment property to true from em console. Navigate to SOA-Infra->SOA Administration->Common Properties->More SOA Infra advanced property.



Designing Your Business Process to Run In-Memory:

Creating a deferred Hello World process.



Deploy and test.

You can see the Audit information are not available.
Now change the completionPersistPolicy to immediate in composite.xml and test again and observed its showing the audit information fine now.



No comments:

Post a Comment

Featured Post

11g to 12c OSB projects migration points

1. Export 11g OSB code and import in 12c Jdeveloper. Steps to import OSB project in Jdeveloper:   File⇾Import⇾Service Bus Resources⇾ Se...