Jvm Trait
The JVM trait is used to configure the JVM that runs the Integration. This trait is configured only for Integration and related IntegrationKits (bound to a container image) built by Camel K operator. If the system detects the usage of a different container image (ie, built externally), then, the trait is disabled by the platform.
This trait is available in the following profiles: Kubernetes, Knative, OpenShift.
Configuration
Trait properties can be specified when running any integration with the CLI:
$ kamel run --trait jvm.[key]=[value] --trait jvm.[key2]=[value2] integration.yaml
The following configuration options are available:
Property | Type | Description |
---|---|---|
|
| Can be used to enable or disable a trait. All traits share this common property. |
|
| Activates remote debugging, so that a debugger can be attached to the JVM, e.g., using port-forwarding |
|
| Suspends the target JVM immediately before the main class is loaded |
|
| Prints the command used the start the JVM in the container logs (default |
|
| Transport address at which to listen for the newly launched JVM (default |
|
| A list of JVM options |
|
| Additional JVM classpath (use |
|
| The Jar dependency which will run the application. Leave it empty for managed Integrations. |
Usage of jar parameters
The jar
parameter is something the user should not worry about, unless that, for any reason, he wants to specify which is the executable dependency to use. Mind that, in order to do that, the base image used to build the container require a java binary executable from path (ie, /usr/bin/java
).
This parameters enables also the possibility to use the trait when running a self managed build Integrations. In such circumstances, the user can run a Camel application built externally and make use of the trait configuration as well as for example:
$ kamel run --image docker.io/squakez/my-camel-sb:1.0.0 -t jvm.jar=/deployments/my-camel-app.jar -t jvm.options=-Xmx1024M
The above command would allow the execution of the JVM trait given that the user specify the path to the jar to execute.