anchor.diff:  }
   ----
   
  -
  -Groovy Example _poller-configuration.xml_ with _run-type_ _exec_
  +.Groovy example 'poller-configuration.xml' with `run-type` set to `exec`
   [source, xml]
   ----
   <service name="MinimalGroovy" interval="300000" user-defined="true" status="on">
  
positive.code: It is also possible to return one or many response times directly from the script.
  To add custom response times or override the default one, add entries to the _times_ object.
  The entries are keyed with a _String_ that names the datasource and have as values a number that represents the response time.
  To override the default response time datasource add an entry into _times_ named _response-time_.
  
  ==== Timeout and Retry
  The BSFMonitor does not perform any timeout or retry processing on its own.
  If retry and or timeout behavior is required, it has to be implemented in the script itself.
  
  ==== Requirements for the script (run-types)
  Depending on the _run-type_ the script has to provide its results in different ways.
  For minimal scripts with very simple logic _run-type_ _eval_ is the simple option.
  Scripts runing in _eval_ mode have to return a _String_ matching one of the _Status Codes_.
  
  If your script is more than a one-liner, _run-type_ _exec_ is essentially required.
  Scripts running in _exec_ mode need not return anything, but they have to add a "status" entry with a _Status Code_ to the _results_ object.
  Additionally, the _results_ object can also carry a "reason":"message" entry that is used in non "OK" states.
  
  ==== Commonly used language settings
  The BSF supports many languages, the following table provides the reqiered setup for commonly used languages.
  
  .BSF language setups
  [options="header, autowidth"]
  |===
  | Language                            | lang-class  | bsf-engine                                    | required library 
  | http://www.beanshell.org[BeanShell] | _beanshell_ | `bsh.util.BeanShellBSFEngine`                 | `supported by default`
  | http://groovy.codehaus.org[Groovy]  | _groovy_    | `org.codehaus.groovy.bsf.GroovyEngine`        | _groovy-all-[version].jar_
  | http://www.jython.org[Jython]       | _jython_    | `org.apache.bsf.engines.jython.JythonEngine`  | _jython-[version].jar_
  |===
  
  ==== Minimal Examples
  
  ===== Minimal Bean Shell Example
  BeanShell Example _poller-configuration.xml_
  [source, xml]
  ----
  <service name="MinimalBeanShell" interval="300000" user-defined="true" status="on">
  
negative.code: By default the _BSFMonitor_ tracks the whole time the script file consumes as the response time.
  If the response time should be persisted the response time add the following parameters:
  
  .RRD response time tracking for this service in 'poller-configuration.xml'
  [source, xml]
  ----
  <!-- where in the filesystem response times are stored -->
  