Configure Remote Process Execution

You can run discovery for a discovery job in a process separate from the Data Flow Probe's process.

For example, you can run the job in a separate remote process if the job uses .jar libraries that are a different version than the Probe's libraries or that are incompatible with the Probe's libraries.

You can also run the job in a separate remote process if the job potentially consumes a lot of memory (brings a lot of data) and you want to isolate the Probe from potential OutOMemory problems.

To configure a job to run as a remote process, define the following parameters in its adapter's configuration file:

Parameter Description
remoteJVMArgs JVM parameters for the remote Java process.
runInSeparateProcess When set to true, the discovery job runs in a separate process.
remoteJVMClasspath

(Optional) Enables customization of the classpath of the remote process, overriding the default Probe classpath. This is useful if there might be version incompatibility between the Probe's jars and custom jars required for the customer-defined discovery.

If the remoteJVMClasspath parameter is not defined, or is left empty, the default Probe classpath is used.

If you develop a new discovery job and you want to ensure that the Probe jar library version does not collide with the job's jar libraries, you must use at least the minimal classpath required to execute basic discovery. The minimal classpath is defined in the DataFlowProbe.properties file in the basic_discovery_minimal_classpath parameter.

Examples of remoteJVMClasspath customization:

  • To prepend or append custom jars to the default Probe classpath. customize the remoteJVMClasspath parameter as follows:

    custom1.jar;%classpath%;custom2.jar -

    In this case, custom1.jar is placed before default Probe classpath, and custom2.jar is appended to the Probe classpath.

  • To use the minimal classpath, customize the remoteJVMClasspath parameter as follows:

    custom1.jar;%minimal_classpath%;custom2.jar