Configuration plans are used to automatically cleanup environment specific information in a composite.xml file during deployment. Information that can be changed includes URL hosts and retry values, to name a few items. Configuration plans can utilize property replacement to utilize FlexDeploy properties. Utilizing FlexDeploy properties allows configuration plans to become re-usable.
The configuration plans that were saved to the ./artifacts/configPlans
, during the build step, will be copied to the ./temp directory. Configuring the Deploy Config Plan input can be either an absolute path to a global configuration plan or a relative path to one of the copied configuration plans based on the ./temp directory.
Configuring the SOA Deploy Config Plan project property will require that the Deploy Config Plan input is not set. The input will take precedence over the project property.
There are several approaches to Configuration Plans and these are:
Composite specific
A composite specific configuration plan is created directly in the composite project using the JDev wizard. Right click on the composite.xml file and select "Generate Config Plan". Provide the plan a name and it is recommended that you add the FlexDeploy environment code in the name. When a configuration plan is generated the file will contain most of the composite.xml content, there will be many lines that contain static content and will change infrequently. Removing all static content from the file will keep the configuration plan easier to update. If static content is changed in the composite.xml file but the configuration plan is unchanged, the configuration plan will overwrite the composite.xml changes on deployment. This approach will require a configuration plan for each environment for each composite since the goal is to cleanup host names as we progress through environments. The two blocks below show examples of what a configuration plan would look like for a DEV (hard code the host name) and QA (utilizing FlexDeploy property replacement) environmentDEV Configuration Plan<?xml version="1.0" encoding="UTF-8"?> <SOAConfigPlan xmlns:jca="http://platform.integration.oracle/blocks/adapter/fw/metadata" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:edl="http://schemas.oracle.com/events/edl" xmlns="http://schemas.oracle.com/soa/configplan"> <composite name="testcall"> <reference name="test"> <!--Add search and replace rules for the binding properties--> <binding type="ws"> <attribute name="location"> <replace>http://DEV_HOST_NAME:8001/soa-infra/services/default/test/test_client_ep?WSDL</replace> </attribute> </binding> </reference> </composite> <wsdlAndSchema name="Schemas/testcall.xsd|WSDLs/testcall.wsdl"> <searchReplace> <search/> <replace/> </searchReplace> </wsdlAndSchema> </SOAConfigPlan>
QA Configuration Plan<?xml version="1.0" encoding="UTF-8"?> <SOAConfigPlan xmlns:jca="http://platform.integration.oracle/blocks/adapter/fw/metadata" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:edl="http://schemas.oracle.com/events/edl" xmlns="http://schemas.oracle.com/soa/configplan"> <composite name="testcall"> <reference name="test"> <!--Add search and replace rules for the binding properties--> <binding type="ws"> <attribute name="location"> <replace>http://${{FDSOA_SERVER_HOST}}:8001/soa-infra/services/default/test/test_client_ep?WSDL</replace> </attribute> </binding> </reference> </composite> <wsdlAndSchema name="Schemas/testcall.xsd|WSDLs/testcall.wsdl"> <searchReplace> <search/> <replace/> </searchReplace> </wsdlAndSchema> </SOAConfigPlan>
On the soaDeploy operation used in the deployment workflow, change the FDSOA_INP_DEPLOY_CFG_PLAN input to a groovy expression similar to this: "./" + FD_ENVIRONMENT_CODE + "*_cfgplan.xml". This will allow the workflow to remain re-usable across all composite deployments even though the configuration plans are specific to a composite.
- Shared
- Global tokens