Configurar el ejemplo de Libreta de direcciones para que utilice el transporte JMS

En este ejemplo, se utiliza WebSphere MQ como proveedor de JMS, por lo que debe crear los objetos administrados utilizando la herramienta JMSAdmin.

Si está ejecutando el ejemplo en Linux, debe añadir la clase JMSAdmin a la classpath. Añada el archivo siguiente a su classpath:

<directorio_instalación_mq>/java/lib/com.ibm.mqjms.jar

Para añadir la ubicación Java a la variable PATH, incluya el siguiente archivo en la vía de acceso de clases:

<JAVA_HOME>/bin

Crear los objetos administrados usando JMSAdmin

WebSphere MQ se instala en el directorio dir_instalación_mq. La herramienta JMSAdmin y el archivo de configuración de JMSAdmin se encuentran en dir_instalación_mq/java/bin en Linux y en dir_instalación_mq\java\bin en Windows.

En el proyecto Address Book Sample Flow, debe utilizar el archivo AddressBookSample.defs con la herramienta JMSAdmin.

Antes de utilizar la herramienta JMSAdmin, debe modificar el archivo JMSAdmin.config como se muestra en las instrucciones siguientes.

Modificación del archivo JMSAdmin.config

Para modificar el archivo JMSAdmin.config:

  1. En un editor de texto, abra el archivo JMSAdmin.config.
  2. Para comentar las opciones que no son necesarias, añada un signo de número (#). Para descomentar una opción que sí que es necesaria, elimine el signo de número (#).
    	# La línea siguiente especifica qué proveedor de servicios JNDI se está utilizando.
    	# Actualmente indica un Contexto del sistema de archivos. Si se utiliza
          # un proveedor de servicio diferente, se debe comentar esta línea y la
          # línea adecuada se debe descomentar.
    	#
    	#  com.sun.jndi.fscontext.RefFSContextFactory is the FileSystem JNDI Context
    	#
    	#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
    	INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    	#INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
    	#INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory
    	#
    	#  La línea siguiente especifica el URL del contexto inicial
    	#  del proveedor de servicios. Actualmente hace referencia a un Contexto del sistema de archivos. 
    	#  También se muestran, comentados, ejemplos de un URL de contexto raíz LDAP
    	#  y el espacio de nombres JNDI para WebSphere.
    	#
    	#PROVIDER_URL=ldap://localhost/o=ibm,c=us
    	PROVIDER_URL=file:/C:/SOAPJNDIBindings
    	#PROVIDER_URL=iiop://localhost/	
    
  3. Guarde el archivo y, a continuación, cree el directorio JNDI-Directory tal como se muestra en la línea PROVIDER_URL.

Ahora puede crear los objetos.

Crear los objetos

Al ejecutar la herramienta JMSAdmin de WebSphere MQ, se crean los objetos administrados JNDI para configurar los destinos y las fábricas de conexión JMS utilizados en el ejemplo.

La herramienta JMSAdmin utiliza el archivo AddressBookSample.defs como entrada. Puede crear los objetos ejecutando JMSAdmin y utilizando el archivo AddressBookSample.defs como entrada.

En la línea de mandatos, entre los siguientes mandatos:

WebSphere MQ se instala en la siguiente ubicación: dir_instalación_mq y vía_acceso_espacio_trabajo es la vía de acceso completa al directorio del espacio de trabajo del kit de herramientas de Message Broker.

Se crean los objetos y el archivo .bindings.

Configuración de los nodos SOAP para utilizar JMS

  1. Abra el flujo de mensajes AddressBook.AddressBookProviderFlow.msgflow en el Editor de flujos de mensajes.
  2. Pulse con el botón derecho del ratón sobre el nodo SOAP Input del flujo de mensajes y pulse Propiedades para mostrar la vista Propiedades.
  3. En la vista Propiedades, seleccione el separador Básicas.
  4. El valor del campo Enlace importado está establecido a AddressBookPortBinding y el valor de la propiedad Transporte está establecido a HTTP. Utilizando la lista desplegable, cambie el valor de Enlace importado a AddressBookJMSBinding. El valor de la propiedad Transporte cambiará a JMS.
  5. Abra el flujo de mensajes AddressBook.AddressBookConsumerFlow.msgflow en el Editor de flujos de mensajes para configurar el nodo SOAPRequest para que utilice el transporte JMS.
  6. Pulse el botón derecho del ratón en el nodo SOAPRequest findAddress del flujo de mensajes y pulse Propiedades para mostrar la vista Propiedades.
  7. En la vista Propiedades, seleccione el separador Básicas.
  8. El valor del campo Enlace importado está establecido a AddressBookPortBinding. Utilizando la lista desplegable, cambie el valor de Enlace importado a AddressBookJMSBinding.
  9. Cambie el valor de la propiedad Operación de enlace a FindAddress.
  10. Asegúrese de que el valor de la propiedad Transporte es JMS.
  11. Seleccione el nodo SOAPRequest saveAddress del flujo de mensajes y vaya a la vista Propiedades.
  12. En la vista Propiedades, seleccione el separador Básicas.
  13. El valor del campo Enlace importado está establecido a AddressBookPortBinding. Utilizando la lista desplegable, cambie el valor de Enlace importado a AddressBookJMSBinding.
  14. Cambie el valor de la propiedad Operación de enlace a SaveAddress.
  15. Asegúrese de que el valor de la propiedad Transporte es JMS.

Configurar la vía de acceso a JNDI en los flujos de mensajes

Configurar los nodos SOAP con la ubicación del archivo .bindings:

  1. Abra el flujo de mensajes AddressBook.AddressBookProviderFlow.msgflow en el Editor de flujos de mensajes.
  2. Pulse con el botón derecho del ratón sobre el nodo SOAP Input del flujo de mensajes y pulse Propiedades para mostrar la vista Propiedades.
  3. En la vista Propiedades, seleccione el separador Transporte JMS.
  4. En el campo Enlaces URL de JNDI de ubicación, especifique la vía de acceso que se especifica en la línea PROVIDER_URL del archivo JMSAdmin.config.
  5. Asegúrese de que la vía de acceso que ha especificado en las propiedades del nodo coincide con la vía de acceso que hay en el archivo JMSAdmin.config. Si las dos vías de acceso no coinciden, los flujos de mensajes no funcionarán.
  6. Guarde el flujo de mensajes.
  7. Abra el flujo de mensajes AddressBook.AddressBookConsumerFlow.msgflow en el Editor de flujos de mensajes para configurar los nodos SOAPRequest con la ubicación del archivo .bindings utilizando los pasos anteriores.
  8. Ahora los flujos de mensajes están configurados y preparados para ser desplegados para el intermediario.

Volver a compilar el archivo BAR y desplegar los flujos de mensajes

Para desplegar los flujos AddressBookConsumerFlow y AddressBookProviderFlow modificados, vuelva a compilar un archivo de archivado de intermediario (BAR) que contenga los dos flujos de mensajes.

Compile el archivo BAR:

  1. Efectúe una doble pulsación en el archivo BAR: AddressBook.AddressSampleConsumer.bar.
  2. En el separador Gestionar, pulse Compilar para volver a compilar el archivo BAR.
  3. Guarde el archivo BAR compilado.
  4. Efectúe una doble pulsación en el archivo BAR: AddressBook.AddressSampleProvider.bar.
  5. En el separador Gestionar, pulse Compilar para volver a compilar el archivo BAR.
  6. Guarde el archivo BAR compilado.
  7. En la vista Intermediarios, pulse en cada archivo BAR y arrastre los archivos BAR de uno en uno al grupo de ejecución predeterminado de la vista Intermediarios. Esta acción despliega los flujos en el intermediario.

Ahora ya puede ejecutar el ejemplo.

Volver a la página inicial del ejemplo