> **Experimental**
>
> `@aws-cdk/aws-applicationsignals-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# JavaInstrumentationVersion

Available versions for Java instrumentation.

Extends: InstrumentationVersion › JavaInstrumentationVersion

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/enablement/instrumentation-versions.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0-alpha.0/packages/@aws-cdk/aws-applicationsignals-alpha/lib/enablement/instrumentation-versions.ts#L28)

## Example

```ts
import { Construct } from 'constructs';
import * as appsignals from '@aws-cdk/aws-applicationsignals-alpha';
import * as cdk from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as ecs from 'aws-cdk-lib/aws-ecs';

class MyStack extends cdk.Stack {
  public constructor(scope?: Construct, id?: string, props: cdk.StackProps = {}) {
    super();
    const vpc = new ec2.Vpc(this, 'TestVpc', {});
    const cluster = new ecs.Cluster(this, 'TestCluster', { vpc });

    const fargateTaskDefinition = new ecs.FargateTaskDefinition(this, 'SampleAppTaskDefinition', {
      cpu: 2048,
      memoryLimitMiB: 4096,
    });

    fargateTaskDefinition.addContainer('app', {
      image: ecs.ContainerImage.fromRegistry('test/sample-app'),
    });

    new appsignals.ApplicationSignalsIntegration(this, 'ApplicationSignalsIntegration', {
      taskDefinition: fargateTaskDefinition,
      instrumentation: {
        sdkVersion: appsignals.JavaInstrumentationVersion.V2_10_0,
      },
      serviceName: 'sample-app',
      cloudWatchAgentSidecar: {
        containerName: 'cloudwatch-agent',
        enableLogging: true,
        cpu: 256,
        memoryLimitMiB: 512,
      }
    });

    new ecs.FargateService(this, 'MySampleApp', {
      cluster: cluster,
      taskDefinition: fargateTaskDefinition,
      desiredCount: 1,
    });
  }
}
```

## Initializer

```ts
new JavaInstrumentationVersion(imageRepo: string, version: string, memoryLimit: number)
```

## Properties

- `DEFAULT_MEMORY_LIMIT_MIB`: number (required) (static) — The default memory limit of the Java instrumentation.

- `IMAGE_REPO`: string (required) (static) — The image repository for Java instrumentation.

- `V1_32_6`: [JavaInstrumentationVersion](/cdk/api/v2/docs/@aws-cdk_aws-applicationsignals-alpha.JavaInstrumentationVersion.html) (required) (static) — ADOT Java Instrumentation version 1.32.6.

- `V1_33_0`: [JavaInstrumentationVersion](/cdk/api/v2/docs/@aws-cdk_aws-applicationsignals-alpha.JavaInstrumentationVersion.html) (required) (static) — ADOT Java Instrumentation version 1.33.0.

- `V2_10_0`: [JavaInstrumentationVersion](/cdk/api/v2/docs/@aws-cdk_aws-applicationsignals-alpha.JavaInstrumentationVersion.html) (required) (static) — ADOT Java Instrumentation version 2.10.0.

## Methods

- `imageURI(): string` — Get the image URI for the instrumentation version.

  **Returns:** The image URI.

- `memoryLimitMiB(): number` — Get the memory limit in MiB for the instrumentation version.

  **Returns:** The memory limit
