# Deploy JMS inbound connector

## Prerequisites

## Installation prerequisites on Linux

### Supported operating systems

The connector is supported on the following operating systems:

-   RHEL/CentOS (8 and 9)
-   Ubuntu (20.04, 22.04 and 24.04 LTS)
-   Debian (11, 12 and 13)
-   Amazon Linux 2023

### Java Runtime Environment

This connector is a Java web-application that requires Java 17 or later. Both Oracle and OpenJDK Java Runtime Environments are supported.

The connector is supported on both `amd64` and `arm64` architectures. Follow these steps on the system or systems where you plan to run the connector:

## Install on Linux

-   [Version 2.0.0 and later](#tab-panel-971)
-   [Version 1.1.0 and earlier](#tab-panel-972)

Install Java 17 or later, if it is not already installed.

RHEL or CentOS

Terminal window

```shell
sudo yum install java-17-openjdk
```

Debian or Ubuntu

Terminal window

```shell
sudo apt-get install openjdk-17-jre
```

Amazon Linux

Terminal window

```shell
sudo dnf install java-11-openjdk
```

Install Java 8 or later, if it is not already installed.

RHEL or CentOS

Terminal window

```shell
sudo yum install java-1.8.0-openjdk
```

Debian or Ubuntu

Terminal window

```shell
sudo apt-get install openjdk-8-jre
```

1.  Install the connector package
    
    Go to the [Aerospike Enterprise downloads](https://aerospike.com/download/connector/jms_in/) site to download the connector package for your operating system. After downloading the package, run either of these commands:
    
    RHEL or CentOS
    
    Terminal window
    
    ```shell
    sudo rpm -i aerospike-jms-inbound-3.0.17-1.noarch.rpm
    ```
    
    Debian or Ubuntu
    
    Terminal window
    
    ```shell
    sudo dpkg -i aerospike-jms-inbound-3.0.17.all.deb
    ```
    
    Amazon Linux
    
    Terminal window
    
    ```shell
    sudo rpm -i aerospike-jms-inbound-3.0.17-1.noarch.rpm
    ```
    
2.  Install the Aerospike Database Enterprise Edition feature-key file
    
    ::: caution
    `feature-key-file` is deprecated in version 2.0.0. Verify that the feature file with the feature key `mesg-jms-connector` turned on and is loaded into the Aerospike server. The feature key is read directly from the Aerospike server.
    :::
    
    Download the feature-key file and put in at the desired location which is accessible to the connector at runtime. The property `mesg-jms-connector` feature must be enabled in the feature key file.
    
3.  Enable connector auto start
    
    Run this command to enable the connector to start on system startup or reboot:
    
    Terminal window
    
    ```shell
    sudo systemctl enable aerospike-jms-inbound
    ```
    
    Run this command to start the connector:
    
    Terminal window
    
    ```shell
    sudo systemctl start aerospike-jms-inbound
    ```
    

## Install JMS inbound connector on Kubernetes with helm-charts

If your deployment situation allows the use of Helm charts, you can install the JMS inbound connector on a Kubernetes deployment using Helm.

1.  Add the Aerospike Helm repository.
    
    Terminal window
    
    ```bash
    helm repo add aerospike https://aerospike.github.io/helm-charts --force-update
    
    helm repo update
    ```
    
2.  Create the file `values.yaml` with your JMS inbound connector configuration. The following example includes a basic JMS inbound connector configuration as part of the Helm installation.
    
    values.yaml
    
    ```yaml
    replicaCount: 3
    
    image:
    
      repository: aerospike/aerospike-jms-inbound
    
      tag: "latest"
    
    connectorConfig:
    
      # Optional HTTP Server configuration to expose Manage API and Prometheus metrics
    
      service:
    
        manage:
    
          port: 8081
    
      # JMS sources to consume messages from.
    
      queues:
    
        MyJmsQueue:
    
          aerospike-operation:
    
            type: write
    
          parsing:
    
            format: json
    
          mapping:
    
            bins:
    
              type: multi-bins
    
              all-value-fields: true
    
            key-field:
    
              source: value-field
    
              field-name: key
    
            namespace:
    
              mode: static
    
              value: test
    
      # The connection properties to the JMS message broker.
    
      jms:
    
        # RabbitMQ example.
    
        factory: com.rabbitmq.jms.admin.RMQConnectionFactory
    
        config:
    
          host: rabbitmq.rabbitmq-system
    
          port: 5672
    
          username: guest
    
          password: guest
    
      # The Aerospike cluster connection properties.
    
      aerospike:
    
        seeds:
    
          - aerocluster.aerospike:
    
              port: 3000
    
      # The logging properties.
    
      logging:
    
        enable-console-logging: true
    
    connectorSecrets: []
    
    serviceAccount:
    
      create: true
    
      name: aerospike-jms-inbound
    ```
    
3.  Install the JMS inbound connector by running the following Helm command.
    
    Terminal window
    
    ```bash
    helm install aerospike-jms-inbound aerospike/aerospike-jms-inbound --values values.yaml --atomic --wait --debug --create-namespace --namespace aerospike
    ```
    

## Deploy on Docker

Aerospike provides Docker images for the Aerospike connect for JMS Inbound on Docker Hub.

Terminal window

```shell
sudo docker run \

 -v <path to local aerospike-jms-inbound.yml>:/etc/aerospike-jms-inbound/aerospike-jms-inbound.yml \

 container.aerospike.com/aerospike/aerospike-jms-inbound:latest
```

`<path to local aerospike-jms-inbound.yml>`: The path (including the name) of the configuration file in your local filesystem.