Embedded JVM configuration
This page describes the configuration items for a C DataSource application’s embedded Java virtual machine (JVM).
For information on configuring the JVM used to run a Java DataSource application, see Configuring a Java DataSource’s JVM.
jvm-global-classpath
jvm-global-classpath
specifies the classpath of a C DataSource’s embedded JVM.
You can specify multiple classpaths on the same line, using a space separator, like this:
jvm-global-classpath %r/lib/java/jmx-child-classloader.jar %r/lib/java/common-jmx.jar
You can also specify multiple classpaths, using a separate jvm-global-classpath
item for each one; for example:
jvm-global-classpath %r/lib/java/jmx-child-classloader.jar jvm-global-classpath %r/lib/java/common-jmx.jar
The classpath can contain the %r
parameter; at run time, %r
is replaced by the root directory (application-root) under which the DataSource application runs, so you can define the classpath location relative to this.
You can also specify a classpath for a specific class, using the classpath option of add-javaclass.
Use in: C
Syntax: jvm-global-classpath <classpath>
Type: array of strings
Default value: %r/lib/java
jvm-location
jvm-location
specifies an absolute file path to a JVM library. When this configuration item is set, a C DataSource application loads an embedded JVM.
The file path to the JVM library must be absolute and include the file name of the library. For JVMs running on Linux, the filename is usually libjvm.so
; for JVMs running on Windows, it’s usually jvm.dll
.
The Deployment Framework automatically sets a JVM_LOCATION
configuration variable based on the value of the JAVA_HOME
variable, or a platform appropriate default if JAVA_HOME
is not set. This enables module kits and feature blades to activate the embedded JVM of their parent C DataSource application by including this generic line of configuration:
jvm-location ${JVM_LOCATION}
If the Deployment Framework fails to correctly set JVM_LOCATION , you can use the dfw java command to set an explicit path to a JVM library.
|
Use in: C
Syntax: jvm-location <absolute-file-path-and-JVM-filename>
Type: string
Default value: [none]
Example: /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so
jvm-options
jvm-options
specifies startup options for a C DataSource application’s embedded JVM. You can specify any of the valid Java command line options.
You can specify multiple options in one instance of jvm-options
or use a separate instance of jvm-options
per startup option. The two examples below are equivalent.
jvm-options -Xms256m -Xmx256m
jvm-options -Xms256m jvm-options -Xmx256m
Use in: C
Syntax: jvm-options <java-command-line-options>
Type: array of strings
Default value: [none]
add-javaclass
add-javaclass
specifies the main (entry) class of a C DataSource’s Java module. Java modules are used to extend a C DataSource application’s functionality. See, for example, Transformer’s Refiner module.
For examples of how to use add-javaclass
within Caplin Platform blades, see:
Use in: C
Syntax:
add-javaclass class-id [string] class-name [string] classpath [array of strings] end-javaclass
The options for add-javaclass
are:
Option | Type | Default | Description |
---|---|---|---|
string |
[none] |
A short identifier of the Java class. When the Java module is part of a Java-based Transformer Service blade, |
|
string |
[none] |
The fully-qualified class name of the Java module to load. |
|
array of strings |
[none] |
One or more space-separated Java classpaths that define where the class in class-name is to be loaded from; for example: classpath %r/lib/java/jmx-child-classloader.jar %r/lib/java/common-jmx.jar You can have multiple occurrences of classpath %r/lib/java/jmx-child-classloader.jar classpath %r/lib/java/common-jmx.jar |
See also:
-
How can I… Configure a DataSource application’s JVM
-
How can I… Change the size of the JVM heap