Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
outlinh1. true
outlinh1. true
1printablefalse
2stylh1. none
3indent20px

You can use external files to store job or order parameters.

The above example generates the following configuration:

Code Block
 <?xml version="1.0" encoding="iso-8859-1"?>
 <job>
   <params>
     <include live_file="my_parameter_file.xml" node=""/>
   </params>
   ...
 </job>
  • The job expects the parameter file in the same folder where the job is stored when using <include live_file="my_parameter_file.xml" node=""/> (from Hot Folder flag in JOE is on)
  • The job expects the parameter file in ./config/live/params when using <include live_file="/params/my_parameter_file.xml" node=""/> (from Hot Folder flag in JOE is on)
  • The job expects the parameter file in ./config/params when using <include file="/config/params/my_parameter_file.xml" node=""/> (from Hot Folder flag in JOE is off)

Look at http://www.sos-berlin.com/doc/en/scheduler.doc/xml/include.xml for more information.

This has the following advantages:

  • Parameters can be stored centrally and then used in more than one job or order.
  • Parameters of external files cannot be displayed in JOC using show configuration. Such files can then be used, for example, to store sensitive data.

A typical parameter file would look like:

Code Block
 <?xml version="1.0" encoding="iso-8859-1"?>
 <params>
   <param name="param1" value="value1"/>
   <param name="param2" value="value2"/>
   <param name="param3" value="value3"/>
   <param name="param4" value="value4"/>
 </params>

In this case you do not have to specifiy the node attribute.

You can also use a different structure. In particular you can have multiple parameter sets:

Code Block
 <?xml version="1.0" encoding="iso-8859-1"?>
 <database_connections>
   <database_connection id="myConnection1">
     <param name="host" value="myHost"/>
     <param name="port" value="myPort"/>
     <param name="user" value="myUser"/>
     <param name="password" value="myPassword"/>
   </database_connection>
   <database_connection id="myConnection2">
     <param name="host" value="otherHost"/>
     <param name="port" value="otherPort"/>
     <param name="user" value="otherUser"/>
     <param name="password" value="otherPassword"/>
   </database_connection>
 </database_connections>

In this case you must specify the node attribute with an Xpath expression.
If a job needs the parameters from myConnection1 then use e.g. //database_connection@id='myConnection1'/param.

It is recommended that you use the from Hot Folder flag in JOE and store the external parameter file ...
... below the Hot Folder (./config/live) because ...

  • Changes to the parameters will be taken over by the JobScheduler when external parameter files are located below the ./config/live folder.

... below the corresponding remote subfolder of the Master JobScheduler when you have a remote configuration architecture because ...

  • Changes to the parameters will be taken over by the Slave JobScheduler when external parameter files are located below the ./config/cache folder if you are using remote configuration.

Changes to external parameter files located outside the Hot Folder (./config/live or ./config/cache resp.) will not be taken over by JobScheduler except the job or order has changed or JobScheduler restarts.