Thursday, June 11, 2020

How to enable flow trace of a SOA Composite

We often come across situation where even after setting composite audit level to 'Development' still we can't see SOA service instance flow trace.

We'll divide this discussion in two parts :

  • Part 1 : We'll gather information about why this issue arise at first place
  • Part 2 : Which steps need to be followed to get this resolved.

Part 1 : Cause of this issue :


This issue arises due to existence of following 2 properties in composite.xml 
<property name="bpel.config.inMemoryOptimization">true</property>
<property name="bpel.config.completionPersistPolicy">faulted</property>
 
1. bpel.config.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. 

                   Values :

                   False (Default) : instances are persisted completely and recorded in the dehydration store database
                   True : The CompletionPersistPolicy is used to determine persistence behavior
2. bpel.config.CompletionPersistPolicy :

This property configures how the instance data is saved. The completionPersistPolicy property can only be used when inMemoryOptimization is set to be True (transient processes). Note that this parameter may affect database growth and throughput (due to reduced I/O) 

                    Values :

Fig. 1 completionPersistPolicy property Values



Part 2 : Resolution for the problem :


1. Go to Enterprise Manager (EM) control => 'SOA' =>  'soa-infra(WLS_SOA1)'



2. Click on drop down list named 'SOA infrastructure' , go to 'Administration' => 'System MBean Browser'






3. Expand 'Application Defined MBeans' > 'oracle.soa.config' > 'Server: WLS_SOA1' => 'SCAComposite'




4. Expand the required composite (your service)
5. Expand 'SCAComposite.SCAComponent' and drill down to component
6. On the right hand side go to the 'Attributes' tab  => Click on 'Properties'




8. Expand Element where properties are (bpel.config.inMemoryOptimization) & (bpel.config.completionPersistPolicy) and modify the values as follows :

  8.1. 'bpel.config.inMemoryOptimization' value from 'true' to 'false'
  8.2. 'bpel.config.completionPersistPolicy' value from 'faulted' to 'on'








9. Click on 'Apply' button.
10. Go to the 'Operations' tab.
11. Click on 'Save'


You are good to go !!!



In case you redeploy composite, these two properties will be set again.
To avoid further repeating these steps, remove following two properties from composite.xml

<property name="bpel.config.inMemoryOptimization">true</property>
<property name="bpel.config.completionPersistPolicy">faulted</property>






HAPPY LEARNING 😊


- Akhtar Latif

No comments:

Post a Comment

OIM Blog 1

 OIM Blogs will be uploaded shortly