You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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

The above example generates the following configuration:

 <?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:

 <?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:

 <?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.

  • No labels