Si opta por crear el gestor de colas por separado, debe configurar una cola de mensajes no entregados (DLQ). WebSphere Message Broker hace referencia a esta cola cuando se producen errores al procesar mensajes en los flujos de mensajes.
Si no se puede procesar un mensaje que se encuentra en un flujo de mensajes definido por el usuario o en el modelo de publicación/suscripción, dicho mensaje se direcciona a esta DLQ como último recurso. Si prefiere restituir el mensaje en la cola de entrada, deteniendo en efecto el flujo de mensajes hasta que se resuelve el problema, inhabilite la DLQ.
El mandato mqsideletebroker no suprime esta cola (a menos que se suprima el gestor de colas).
Si utiliza un gestor de colas de WebSphere MQ que se ha creado de forma independiente del mandato mqsicreatebroker, puede optar por definir clústeres. En la mayoría de los casos esto simplifica la configuración.
Si el gestor de colas lo crea este mandato, no se inicia como un servicio Windows y por lo tanto se detendrá al finalizar la sesión. Para evitar que esto suceda, debe permanecer con la sesión iniciada o cambiar el estado de inicio del servicio del gestor de colas. (Si bloquea la estación de trabajo, el gestor de colas de WebSphere MQ no se detiene.)
En z/OS, si crea un nombre de intermediario en mayúsculas, también deberá utilizar el nombre de dicho intermediario en mayúsculas en el entorno de trabajo.
Para saber las limitaciones en el juego de caracteres que puede utilizarse, consulte Caracteres permitidos en mandatos.Puede especificarse en cualquier sintaxis válida de nombres de usuario. En las plataformas Windows, dichas sintaxis son:
En Linux y sistemas UNIX, sólo es válido el último formato, nombreusuario.
Si utiliza el formato no calificado para este ID de usuario (nombreusuario) en las plataformas Windows, el sistema operativo busca el ID de usuario por todo su dominio, empezando por el sistema local. Esta búsqueda puede tardar un poco en llevarse a cabo.
El IDUsuarioServicio especificado debe pertenecer al grupo local mqbrkrs. En plataformas Windows, puede ser un miembro directo o indirecto del grupo. El IDUsuarioServicio también debe estar autorizado para acceder al directorio inicial (donde se ha instalado WebSphere Message Broker) y al directorio de trabajo (si se ha especificado mediante el indicador -w.
En plataformas Windows, si se especifica que el intermediario tiene que ejecutarse como aplicación fiable de WebSphere MQ (indicador -t), también se debe añadir este ID de usuario al grupo mqm. En Linux y sistemas UNIX, especifique el IDUsuarioServicio como mqm si ha establecido el indicador -t.
Los requisitos de seguridad para el IDUsuarioServicio se detallan en Requisitos de seguridad para las plataformas Windows.
Si utiliza este ID de usuario para acceder a la base de datos (es decir, no especifica un ID de usuario distinto con el indicador -u) y utiliza SQL Server para la base de datos, debe crear este ID de usuario como un ID de inicio de sesión de SQL Server y otorgarle el acceso correcto antes de crear el intermediario (consulte el apartado Consideraciones sobre la seguridad para un intermediario para obtener información detallada). Si la base de datos del intermediario existe en DB2 y este ID de usuario no es conocido en DB2, DB2 lo crea automáticamente.
Por compatibilidad con los sistemas existentes, todavía puede especificar <password>. Sin embargo, si no especifica una contraseña con este parámetro, cuando ejecuta el mandato se le solicita que entre una contraseña durante su invocación, y que la vuelva a entrar para comprobar que la ha entrado correctamente.
En Linux y sistemas UNIX, es necesario -a para la compatibilidad con plataformas Windows, pero no se utiliza en relación a IDUsuarioServicio; se utiliza como valor por omisión sólo si no se especifica -p. (Para obtener información detallada, consulte las notas sobre el parámetro -p.)
Cada intermediario debe tener su propio gestor de colas exclusivo. Un intermediario no puede compartir un gestor de colas con otro intermediario.
Si el gestor de colas todavía no existe, lo crea este mandato. No se crea como gestor de colas por omisión; si desea que este gestor de colas sea el gestor de colas por omisión en este sistema, debe crear el gestor de colas antes de emitir este mandato o cambiar los valores de este gestor de colas y que sea el valor por omisión. Utilice el Explorador de WebSphere MQ o el Complemento Servicios de WebSphere MQ, según la versión de WebSphere MQ que utilice.
El atributo del gestor de colas MAXMSGLN (la longitud máxima de mensajes que puede transferirse a las colas) se ha actualizado a 100 MB. Esto se lleva a cabo sin tener en cuenta si el gestor de colas lo ha creado este mandato.
Para saber las limitaciones en el juego de caracteres que puede utilizarse, consulte Caracteres permitidos en mandatos.
Esta base de datos ya debe existir. Si todavía no lo ha hecho, debe crear una conexión ODBC de DSN del sistema.
Si tiene una base de datos DB2 en Linux, entre el nombre de alias de base de datos DB adecuado; no es necesario un DSN ODBC.
Este ID de usuario debe tener la autorización para crear tablas dentro de esta base de datos así como para leer y escribir en las mismas.
En las plataformas Windows, si la base de datos del intermediario existe en DB2 y este ID de usuario no es conocido en DB2, se crea automáticamente dentro de DB2. En Linux y sistemas UNIX, al usuario de servicio se le debe haber otorgado anteriormente el privilegio correcto. Si la base de datos es SQL Server, debe crear este ID de usuario como un ID de inicio de sesión de SQL Server y otorgarle el acceso correcto antes de crear el intermediario (consulte Requisitos de seguridad para las plataformas Windows para obtener información detallada).
Si tiene una base de datos de aplicación en DB2 creada por este ID de usuario o para la que este usuario tiene un permiso adecuado de lectura, escritura o creación, los flujos de mensajes que se ejecutan en este intermediario pueden acceder y manipular los datos de aplicación mantenidos dentro del mismo sin tener que especificar nombres de esquema explícitos.
Este ID de usuario debe tener la autorización para crear tablas dentro de esta base de datos así como para leer y escribir en las mismas.
Si tiene una base de datos de aplicación en DB2 creada por este ID de usuario o para la que este usuario tiene un permiso adecuado de lectura, escritura o creación, los flujos de mensajes que se ejecutan en este intermediario pueden acceder y manipular los datos de aplicación mantenidos dentro del mismo sin tener que especificar nombres de esquema explícitos.
Por compatibilidad con los sistemas existentes, todavía puede especificar <password>. Sin embargo, si no especifica una contraseña con este parámetro, cuando ejecuta el mandato se le solicita que entre una contraseña durante su invocación, y que la vuelva a entrar para comprobar que la ha entrado correctamente.
Para DB2 en Linux y sistemas UNIX, se puede especificar -u y -p como series de caracteres vacías (dos comillas ""). En este caso, DB2 otorga a WebSphere Message Broker los privilegios de IDUsuarioServicio, que produce una conexión de base de datos como "ya verificada". Si especifica -a como una serie de caracteres vacía así como como -u y -p, WebSphere Message Broker no almacena ninguna contraseña y se crea la configuración más segura.
Este directorio también se utiliza para rastrear los registros creados cuando está activo el rastreo. Estos se escriben en un subdirectorio log, que también debe crearse antes de iniciar el intermediario.
Las anotaciones de error anotadas por el intermediario cuando un proceso finaliza anormalmente se almacenan en este directorio. En las plataformas Windows, utilice esta opción para especificar un directorio en una unidad distinta de la unidad en la que se ha instalado el producto.
Las anotaciones de error no tienen límites y crecen sin cesar. Examine de forma periódica este directorio y borre toda la información de error antigua.
No puede cambiar esta opción con el mandato mqsichangebroker. Si desea especificar o cambiar la vía de acceso, suprima y vuelva a crear el intermediario.
Si especifica esta opción en las plataformas Windows, añada IDUsuarioServicio (identificada por el indicador -i) al grupo mqm. Si especifica esta opción en HP-UX y Solaris, especifique IDUsuarioServicio como mqm. Si desea ver más información detallada sobre cómo utilizar aplicaciones fiables de WebSphere MQ, consulte WebSphere MQ Intercommunication.
Debe crear su propio directorio para almacenar sus archivos .lil o .jar. No los guarde en el directorio de instalación de WebSphere Message Broker.
Si especifica más de un directorio adicional, estos directorios deben separarse por el separador de vía de acceso por omisión específico de la plataforma (punto y coma (;) en las plataformas Windows, dos puntos (:) en Linux y sistemas UNIX).
No puede incluir variables de entorno en esta vía de acceso: si lo hace, éstas se ignoran.
Cuando un flujo de mensajes procesa un mensaje de aplicación, no puede responder a un cambio en la configuración. Si alguno de los flujos de mensajes del grupo de ejecución de los que se ha solicitado que cambie su configuración no finaliza el proceso de un mensaje de aplicación y aplica el cambio de configuración dentro de este tiempo de espera, el grupo de ejecución devuelve una respuesta negativa al mensaje de configuración desplegado.
El valor establecido para este tiempo de espera depende de la carga del sistema (incluida la utilización de la CPU) y de la carga de cada grupo de ejecución. Puede realizar una estimación inicial desplegando toda la configuración del intermediario. El intervalo que tarda en llevarse a cabo correctamente le da una indicación del valor mínimo que se debe establecer.
El valor se especifica en segundos y puede oscilar entre 10 y 3600. El valor por omisión es 300.
La suma de TiempoEsperaConfiguración y TiempoEsperaRetardoConfiguración (que se describe más abajo) representa el intervalo máximo durante el que un intermediario puede procesar un mensaje de configuración desplegado antes de generar una respuesta negativa.
Esto representa el periodo que tarda el intermediario y sus grupos de ejecución en procesar un mensaje mínimo de configuración desplegada y depende de las demoras de la red del gestor de colas, de la carga en el gestor de colas del intermediario y de la carga del sistema.
mqsireporttrace nombreIntermediario -e "Nombre de grupo de ejecución" -u
F MQP1BRK,reporttrace u=yes,e='exgrp1'
El tiempo de respuesta de cada grupo de ejecución difiere según la carga del sistema y la carga de sus propios procesos. El valor que se establezca debe reflejar el periodo de respuesta más largo que cualquier grupo de ejecución tarde en responder. Si el valor establecido es demasiado bajo, el intermediario devuelve una respuesta negativa y puede emitir mensajes de error a las anotaciones de error locales.
El valor se especifica en segundos y puede oscilar entre 10 y 3600. El valor por omisión es 60.
Si el intermediario está en un sistema de producción, aumente los valores para TiempoEsperaConfiguración y TiempoEsperaRetardoConfiguración de modo que los mensajes de aplicación que están procesando los flujos de mensajes puedan completarse antes de que se aplique el cambio de configuración.
Si el intermediario está en un sistema de desarrollo o prueba, es posible que desee reducir los tiempos de espera (en particular, el TiempoEsperaConfiguración) para mejorar los periodos de respuesta observados y para forzar una respuesta de un intermediario que no muestra el comportamiento previsto. No obstante, si se reducen los valores de tiempo de espera se disminuye la probabilidad de desplegar correctamente un cambio de configuración.
Este escucha lo inicia el intermediario cuando se inicia un flujo de mensajes que incluye el soporte de servicios Web y tiene un valor por omisión de 7080.
Asegúrese de que el puerto que se especifique no se haya especificado para ninguna otra finalidad.
Un intervalo de cero minutos indica que la plataforma tiene un método externo de notificación y que no utiliza un temporizador interno dentro de WebSphere Message Broker.
En sistemas Windows, el ID de usuario utilizado para invocar este mandato debe tener autorización de Administrador en el sistema local.
En sistemas UNIX, el ID de usuario utilizado para invocar este mandato debe pertenecer al grupo mqbrkrs.
En sistemas z/OS, el ID de usuario utilizado para invocar este mandato debe pertenecer a un grupo que tenga acceso READ y WRITE al directorio del componente.
Utilizando LDAP: Asegúrese de que el registro tenga la seguridad necesaria para impedir el acceso no autorizado. No es necesario establecer las opciones PrincipalLdap y CredencialesLdap en mqsicreatebroker para un funcionamiento correcto del intermediario. La contraseña no se almacena en texto inteligible en el sistema de archivos.
Se otorga la autorización de acceso a todas estas colas para el grupo mqbrkrs de WebSphere Message Broker. Si la DLQ está habilitada, también tendrá la misma autorización.
Este mandato devuelve las siguientes respuestas:
(51002)[IBM][CLI Driver][DB2/NT]SQL0805N Package "NULLID.SQLLF000" was not found. SQLSTATE=51002.
Este error se produce cuando el enlace a la base de datos no ha sido correcto.
En las plataformas Windows, el enlace no es necesario para bases de datos de intermediarios, aunque sí lo es para las bases de datos de usuarios. Si ha creado la base de datos con el Centro de control de DB2, el enlace se lleva a cabo automáticamente. Si utiliza la interfaz de mandatos, no se crea automáticamente. Por ejemplo, para la base de datosMYDB, puede crear o volver a crear un enlace entrando los siguientes mandatos en el indicador de mandatos:
db2 connect to MYDB user db2admin using db2admin db2 bind X:\sqllib\bnd\@db2cli.lst grant public db2 connect reset
donde X: es la unidad en la que se ha instalado DB2.
En las plataformas UNIX, el enlace es necesario para todas las bases de datos. Por ejemplo, para la base de datos WBRKBKDB, puede afectar en este proceso entrando los siguientes mandatos en el indicador de mandatos (donde <nombre_usuario> es el ID de usuario en el que se ha creado la instancia de base de datos):
db2 connect to WBRKBKDB user db2admin using db2admin
db2 bind ~<nombre_usuario>/sqllib/bnd/@db2cli.lst grant public CLIPKG 5
db2 connect reset
Si no utiliza el ID de usuario y la contraseña por omisión de DB2 (db2admin), en el mandato db2 connect debe sustituir estos valores por los valores correctos.
Si ejecuta el mandato mqsicreatebroker una segunda vez debido a que la primera vez se produjo una anomalía, recibirá una serie de mensajes. Dichos mensajes indican todos los elementos que no se han podido crear. No se debería producir ningún efecto perjudicial como resultado es este error. Por ejemplo, siempre y cuando se haya resuelto la causa del primer error, la creación de un intermediario que ha sufrido una anomalía la primera vez debe dar como resultado un intermediario creado correctamente.
mqsicreatebroker WBRK_BROKER -i wbrkuid -a wbrkpw -q WBRK_QM -s WBRK_UNS_QM -n WBRKBKDB
mqsicreatebroker WBRK_BROKER -i wbrkuid -a wbrkpw -q WBRK_QM -n WBRKBKDB -t
mqsicreatebroker WBRK_BROKER -i wbrkuid -a wbrkpw -q WBRK_QM -n WBRKBKDB -x /opt/3rdparty/wmbexits
mqsicreatebrokerCSQ1BRK -q CSQ1 -u BRKUSER -n DBA0
mqsicreatebroker
CSQ1BRK -q CSQ1 -u BRKUSER -n DBA0 -2