Habilitar el proveedor RabbitMQ con JMS
Introducción
De forma predeterminada, el conector JMS de Harmony establece acceso a JMS mediante ActiveMQ. También se pueden utilizar proveedores JMS adicionales. Esta página resume cómo establecer acceso a JMS mediante RabbitMQ.
Nota
Un proveedor RabbitMQ solo se puede usar con proyectos que usan agentes privados Jitterbit.
Prerrequisitos
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
Habilitación de RabbitMQ con JMS
Siga estos pasos para habilitar RabbitMQ con JMS:
-
Vaya a Jitterbit Agente > Connectors > JMS > Providers. En el directorio Providers, cree una nueva carpeta denominada
RabbitMQ
a esta carpeta agregue el.bindings
archivo con la actualizaciónHOST_NAME
y los archivos JAR enumerados en Requisitos previos. -
Navega hasta
<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:
-
Agregar 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 de la RabbitMQ
carpeta creada en el paso 1.<factoryName>
El nombre de la fábrica de conexión 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 los
<Provider>
elemento a añadir 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 al final de
JMS_ProviderInfo_User.conf
entre la flecha-->
y</Providers>
. -
Reinicie el agente:
- Linux: Vea Reiniciar agente en Instalar un agente de Linux.
- Windows: Vea Reiniciar agente en Instalar un agente de Windows.
-
Una vez que el agente esté en ejecución, 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.