Saltar al contenido

Habilite el Proveedor RabbitMQ con JMS

Introducción

De forma predeterminada, Harmony JMS Connector establece acceso a JMS mediante ActiveMQ. También se pueden utilizar proveedores JMS adicionales. Esta página resume cómo establecer acceso a JMS usando RabbitMQ.

Nota

Un proveedor RabbitMQ solo se puede utilizar con proyectos que utilizan Harmony Agentes Privados.

Requisitos Previos

Estos archivos JAR deben descargarse en su Agente Privado como se describe a continuación:

  • amqp-client-5.8.0.jar
  • fscontext-4.6-b01.jar
  • geronimo-jms_1.1_spec-1.1.1.jar
  • rabbitmq-jms-2.1.0.jar
  • slf4j-api-1.7.30.jar

A .bindings El archivo debe crearse con estas definiciones:

.bindings
# Define the Connection Factory object
ConnectionFactory/ClassName=javax.jms.ConnectionFactory
ConnectionFactory/FactoryName=com.rabbitmq.jms.admin.RMQObjectFactory
ConnectionFactory/RefAddr/0/Content=jms/ConnectionFactory
ConnectionFactory/RefAddr/0/Type=name
ConnectionFactory/RefAddr/0/Encoding=String
ConnectionFactory/RefAddr/1/Content=javax.jms.ConnectionFactory
ConnectionFactory/RefAddr/1/Type=type
ConnectionFactory/RefAddr/1/Encoding=String
ConnectionFactory/RefAddr/2/Content=com.rabbitmq.jms.admin.RMQObjectFactory
ConnectionFactory/RefAddr/2/Type=factory
ConnectionFactory/RefAddr/2/Encoding=String

# Define the location of the broker, likely localhost, and the VirtualHost these resources will reside in
# Replace HOST_NAME with the host name for RabbitMQ
ConnectionFactory/RefAddr/3/Content=HOST_NAME
ConnectionFactory/RefAddr/3/Type=host
ConnectionFactory/RefAddr/3/Encoding=String
ConnectionFactory/RefAddr/4/Content=regression
ConnectionFactory/RefAddr/4/Type=virtualHost
ConnectionFactory/RefAddr/4/Encoding=String

# Define an example Queue
queue1/ClassName=javax.jms.Queue
queue1/FactoryName=com.rabbitmq.jms.admin.RMQObjectFactory
queue1/RefAddr/0/Content=jms/Queue
queue1/RefAddr/0/Type=name
queue1/RefAddr/0/Encoding=String
queue1/RefAddr/1/Content=javax.jms.Queue
queue1/RefAddr/1/Type=type
queue1/RefAddr/1/Encoding=String
queue1/RefAddr/2/Content=com.rabbitmq.jms.admin.RMQObjectFactory
queue1/RefAddr/2/Type=factory
queue1/RefAddr/2/Encoding=String
queue1/RefAddr/3/Content=queue1
queue1/RefAddr/3/Type=destinationName
queue1/RefAddr/3/Encoding=String

Habilitando RabbitMQ con JMS

Siga estos pasos para habilitar RabbitMQ con JMS:

  1. Navegue hasta Jitterbit Agente > Connectors \ > JMS > Proveedores. En el directorio Proveedores, cree una nueva carpeta llamada RabbitMQ. A esta carpeta agregue el .bindings archivo con la actualización HOST_NAME y los archivos JAR enumerados en Requisitos previos.

  2. Navega a <JITTERBIT_HOME>/Connectors/JMS, reemplazando <JITTERBIT_HOME> con el directorio raíz de su Agente Privado. El directorio raíz de su Agente Privado suele estar en una de estas ubicaciones predeterminadas:

    • Windows: C:\Program Files\Jitterbit Agent
    • Linux: /opt/jitterbit
  3. Añade un nuevo <Provider> elemento a JMS_ProviderInfo_User.conf con estas entradas:

    Campo Descripción
    <name> El nombre del proveedor. El nombre debe ser único. Este nombre aparecerá en el parámetro de conexión Proveedor JMS al configurar un extremo JMS.
    <java.naming.factory.initial> El valor de esta propiedad JNDI debe ser el nombre de clase completo de la clase de fábrica que creará un contexto inicial.
    <java.naming.provider.url> El valor de esta propiedad JNDI debe ser la ruta del RabbitMQ carpeta creada en paso 1.
    <factoryName> El nombre de la fábrica de conexiones que se ha configurado en el proveedor de servicios.
    <pathOfProviderJars> La ruta absoluta del directorio donde se colocan los archivos JAR del proveedor en paso 1.

    Estos son ejemplos de la <Provider> elemento a agregar a JMS_ProviderInfo_User.conf:

    Windows Example
    <Provider>
    <Name>RabbitMQ</Name>
    <java.naming.factory.initial>com.sun.jndi.fscontext.RefFSContextFactory</java.naming.factory.initial>
    <java.naming.provider.url>C:\Program Files\Jitterbit Agent\Connectors\JMS\Providers\RabbitMQ</java.naming.provider.url>
    <factoryName>ConnectionFactory</factoryName>
    <pathOfProviderJars>C:\Program Files\Jitterbit Agent\Connectors\JMS\Providers\RabbitMQ</pathOfProviderJars>
    </Provider>
    
    Linux Example
    <Provider>
    <Name>RabbitMQ</Name>
    <java.naming.factory.initial>com.sun.jndi.fscontext.RefFSContextFactory</java.naming.factory.initial>
    <java.naming.provider.url>file://localhost/opt/jitterbit/Connectors/JMS/Providers/RabbitMQ</java.naming.provider.url>
    <factoryName>ConnectionFactory</factoryName>
    <pathOfProviderJars>/opt/jitterbit/Connectors/JMS/Providers/RabbitMQ</pathOfProviderJars>
    </Provider>
    

    Nota

    Estas entradas deben colocarse en la parte inferior de JMS_ProviderInfo_User.conf entre la flecha --> y </Providers>.

  4. Reinicie el agente:

  5. Una vez que el agente se esté ejecutando, podrá crear un nuevo extremo JMS con la opción de seleccionar RabbitMQ como proveedor:

    adjunto

Para obtener más información sobre la creación de extremos JMS, consulte Creación de Extremos del conector JMS.