Using the Multiple Compilation feature, you can compile multiple Decision Services using directives specified in an XML file.

Table 1. usage: corticonManagement --multicompile
Argument Description
-i,--input file XML file containing directives for Ruleflow (.erf files) to compile

Example usage:


corticonManagement --multicompile 
                    -i C:\precompile.xml
Note: Multicompile uses your brms.properties for optional overriding of properties when compiling a decision service. For more information, see the topic Properties that impact Decision Service compilation .
Note: For optimal performance, be sure that all the assets and projects that will be involved in the multiple compile processing have been upgraded to the same version.

Template

The following template, provided as [CORTICON_HOME]\Server\bin\multipleCompilation.xml, presents the settings for the logs and the pattern for each of several Ruleflows to compile:


<MultipleCompilation>
   <CompilationLogDirectory>
	   **Fully qualified path to directory 
	     where log will be placed**
	     </CompilationLogDirectory>
   <CompilationObjects>
	  <CompilationObject>
		 <DecisionServiceName>
		     **Name of the Decision Service**
		     </DecisionServiceName>
		 <RuleflowPath>
		     **Explicit path to the Ruleflow to compile**
		     </RuleflowPath>
		 <OutputDirectory>
		     **Explicit path to output directory for the  .eds file**
		     </OutputDirectory>
		 <OverrideIfExists>
		     **true/false: Determines whether to 
		       overwrite a matching file in the output directory**
		     </OverrideIfExists>
		 <DatabaseAccessMode>
			 **empty value/R/RW: Determines if and 
			   how the Rules will be compiled for EDC compatibility**
			 </DatabaseAccessMode>
		</CompilationObject>
		
		<CompilationObject>
			...
		</CompilationObject>
	</CompilationObjects>
</MultipleCompilation>				
			

The following example of multipleCompilation.xml specifies two Ruleflows to compile, each as its own Decision Service.


<MultipleCompilation>
	<CompilationLogDirectory>C:\Corticon\Compilation_logs</CompilationLogDirectory>
	<CompilationObjects>
		<CompilationObject>
			<DecisionServiceName>Cargo</DecisionServiceName>
			<RuleflowPath>C:\Corticon\staging\Ruleflows\cargo.erf</RuleflowPath>
			<OutputDirectory>C:\Corticon\staging\DecisionServices</OutputDirectory>
			<OverrideIfExists>true</OverrideIfExists>
			<DatabaseAccessMode>RW</DatabaseAccessMode>
		</CompilationObject>
		<CompilationObject>
		<CompilationObject>
			<DecisionServiceName>GroceryStore</DecisionServiceName>
			<RuleflowPath>C:\Corticon\staging\Ruleflows\grocery.erf</RuleflowPath>
			<OutputDirectory>C:\Corticon\staging\DecisionServices</OutputDirectory>
			<OverrideIfExists>true</OverrideIfExists>
			<DatabaseAccessMode></DatabaseAccessMode>
		</CompilationObject>
		<CompilationObject>
		</CompilationObject>
	</CompilationObjects>
</MultipleCompilation>				
			

Once the compilation objects are defined, launching multipleCompilation.bat compiles each of the Ruleflows into its target Decision Service.