= Jvm Trait

// Start of autogenerated code - DO NOT EDIT! (description)
The JVM trait is used to configure the JVM that runs the integration.


This trait is available in the following profiles: **Kubernetes, Knative, OpenShift**.

WARNING: The jvm trait is a *platform trait*: disabling it may compromise the platform functionality.

// End of autogenerated code - DO NOT EDIT! (description)
// Start of autogenerated code - DO NOT EDIT! (configuration)
== Configuration

Trait properties can be specified when running any integration with the CLI:
```
kamel run --trait jvm.[key]=[value] --trait jvm.[key2]=[value2] integration.groovy
```
The following configuration options are available:

[cols="2,1,5a"]
|===
|Property | Type | Description

| jvm.enabled
| bool
| Can be used to enable or disable a trait. All traits share this common property.

| jvm.debug
| bool
| Activates remote debugging, so that a debugger can be attached to the JVM, e.g., using port-forwarding

| jvm.debug-suspend
| bool
| Suspends the target JVM immediately before the main class is loaded

| jvm.debug-address
| string
| Transport address at which to listen for the newly launched JVM (default `*:5005`)

| jvm.options
| string
| A comma-separated list of JVM options

| jvm.print-command
| bool
| Prints the command used the start the JVM in the container logs (default `true`)

|===

// End of autogenerated code - DO NOT EDIT! (configuration)
