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:
- En un editor de texto, abra el archivo JMSAdmin.config.
- 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/
- 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:
- En Windows:
cd dir_instalación_mq\java\bin
JMSAdmin < "vía_acceso_espacio_trabajo\AddressBook\AddressBookSample.defs"
- En Linux:
cd dir_instalación_mq/java/bin
./setjmsenv
./JMSAdmin < vía_acceso_espacio_trabajo/AddressBook/AddressBookSample.defs
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
- Abra el flujo de mensajes AddressBook.AddressBookProviderFlow.msgflow en el Editor de flujos de mensajes.
- 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.
- En la vista Propiedades, seleccione el separador Básicas.
- 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.
- 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.
- 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.
- En la vista Propiedades, seleccione el separador Básicas.
- El valor del campo Enlace importado está establecido a AddressBookPortBinding. Utilizando la lista desplegable, cambie el valor de
Enlace importado a AddressBookJMSBinding.
- Cambie el valor de la propiedad Operación de enlace a
FindAddress.
- Asegúrese de que el valor de la propiedad Transporte es JMS.
- Seleccione el nodo SOAPRequest saveAddress del flujo de mensajes y vaya a la vista
Propiedades.
- En la vista Propiedades, seleccione el separador Básicas.
- El valor del campo Enlace importado está establecido a AddressBookPortBinding. Utilizando la lista desplegable, cambie el valor de
Enlace importado a AddressBookJMSBinding.
- Cambie el valor de la propiedad Operación de enlace a
SaveAddress.
- 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
- En Windows:
los nodos SOAP ya están configurados con la ubicación del archivo .bindings.
Sin embargo, si ha creado un archivo .bindings en una ubicación distinta, debe volver a configurar los nodos
SOAP con la nueva ubicación del archivo .bindings. Siga los pasos que se indican en la sección siguiente: "Configurar los nodos SOAP con la ubicación del archivo .bindings."
- En Linux:
para asegurarse de que los nodos SOAP de los flujos de mensajes conocen la ubicación del archivo
.bindings que ha creado,
siga los pasos que se indican en la sección siguiente: "Configurar los nodos SOAP con la ubicación del archivo .bindings."
Configurar los nodos SOAP con la ubicación del archivo .bindings:
- Abra el flujo de mensajes AddressBook.AddressBookProviderFlow.msgflow en el Editor de flujos de mensajes.
- 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.
- En la vista Propiedades, seleccione el separador Transporte JMS.
- 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.
- En Linux: especifique file:///home/myuser/SOAPJNDIBindings, donde
myuser es el nombre de usuario que ha utilizado para ejecutar el intermediario.
- En Windows: si ha modificado la ubicación del archivo .bindings,
especifique la nueva ubicación, de lo contrario, deje el valor file:/C:/SOAPJNDIBindings.
- 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.
- Guarde el flujo de mensajes.
- 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.
- 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:
- Efectúe una doble pulsación en el archivo BAR: AddressBook.AddressSampleConsumer.bar.
- En el separador Gestionar, pulse Compilar
para volver a compilar el archivo BAR.
- Guarde el archivo BAR compilado.
- Efectúe una doble pulsación en el archivo BAR: AddressBook.AddressSampleProvider.bar.
- En el separador Gestionar, pulse Compilar
para volver a compilar el archivo BAR.
- Guarde el archivo BAR compilado.
- 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