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:
# 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:
-
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ónHOST_NAME
y los archivos JAR enumerados en Requisitos previos. -
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
- Windows:
-
Añade un nuevo
<Provider>
elemento aJMS_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 aJMS_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>
. -
Reinicie el agente:
- Linux: Consulte Reiniciar Agente en Instalar un Agente Harmony Linux.
- Windows: Consulte Reiniciar Agente en Instalar un Agente Harmony Windows.
-
Una vez que el agente se esté ejecutando, podrá crear un nuevo extremo JMS con la opción de seleccionar RabbitMQ como proveedor:
Para obtener más información sobre la creación de extremos JMS, consulte Creación de Extremos del conector JMS.