This is supposed to be a very short post on overcoming a problem with BPEL Properties/Preferences that we set at design time so that we have the option of changing their values at runtime from the Enterprise Manager.
Preferences are very useful and the following blogpost by Eric Elzinga demonstrates how we can use them
http://eelzinga.wordpress.com/2009/10/28/oracle-soa-suite-11g-setting-and-getting-preferences/
However these Preference values does not withstand a server bounce . They are rest back to the old values automatically after the bounce.This was not the case in 10g.
The Problem with BPEL Preferences
- Connect to Fusion Middleware Control.
- Expand SOA -> soa-infra -> default and highlight “default”.
- Navigate to SOA Infrastructure -> Administration -> System MBean Browser.
- Navigate to Application Defined MBeans -> oracle.soa.config -> Server: soa_server1 -> SCAComposite.
- Expand the <SCA composite> -> SCAComposite.SCAComponent and highlight the BPEL Component.
- Click on the Attribute Properties.
- Expand Element_N and change value key for name bpel.preference.<PREFERENCE_NAME>.
- Click Apply.
- Restart the SOA server and now PREFERENCE_NAME contains the orginal initial value instead of the expected updated value.
The Solution to Persist the Changed Values of Preferences
- After you Apply the change to bpel.preference.<PREFERENCE_NAME>, click Return.
- Click Operations tab.
- Click on the Attribute Save.
- Click the Invoke button.
- Click Return.
When the server is restarted, the System MBean updated value is maintained.
.
Hi Arun,
Packt Publishing is looking for Technical Reviewers on “Oracle SOA Infrastructure Implementation Certification Handbook.”. If you would be interested in reviewing it then contact alkan@packtpub.com
Thanks.
LikeLike
thank you
do you know where the info stored? db? table?
LikeLike
Yes i know where these properties are stored. They are saved into the same composite.xml file or .bpel (wherever) you had set it. Whenever you deploy a composite application to the SOA-infra it is first saved into the MDS. Invoking the save operation after changing the property from EM will update the property value in the same composite.xml file.
Now in case you need to verify this..
Open JDeveloper and create a MDS connection to your MDS store. From the Resource Palette open the MDS connection you just created and browse to /deployed-composites//composite.xml
Open the file and view its content in the source view and you will get to see your changes.
LikeLike
Thank you!
LikeLike
Good one. It helped me to resolve one issue. 🙂
LikeLike