Esta sección contiene una lista de los problemas conocidos de Message Queue 4.4. Se describen las siguientes áreas:
Para consultar una lista de los fallos actuales, sus estados y sus soluciones alternativas, invitamos a los miembros de Java Developer Connection™ a visitar la página Bug Parade del sitio web Java Developer Connection. Consulte la página antes de informar sobre un nuevo error. A pesar de que no se muestran todos los problemas de Message Queue la página es un buen punto de partida para ver si un problema ha sido comunicado.
http://bugs.sun.com/bugdatabase/index.jsp
Aunque la suscripción a Java Developer Connection es gratuita, es necesario registrarse. Encontrará información sobre cómo ser miembro de Java Developer Connection en la página web "For Developers" de Sun.
Para informar de un nuevo problema o enviar una petición de nuevas funciones, envíe un mensaje a imq-feedback@sun.com .
Esta sección describe los problemas relacionados con la instalación de la versión 4.4.
Message Queue 4.4, al igual que Message Queue 4.2 y 4.1, se instala mediante un instalador relativamente nuevo, que a su vez instala y actualiza los componentes compartidos de Java Enterprise System (Java ES) que requiere Message Queue; como por ejemplo, JDK, NSS, JavaHelp, etc.
El nuevo instalador de Message Queue y el antiguo instalador de Java ES, que se utilizaba para instalar versiones anteriores de Message Queue, no comparten el mismo registro del producto. Si una versión de Message Queue instalada con el instalador Java ES se elimina y, más adelante, se instala Message Queue 4.4 mediante el instalador de Message Queue, el registro del producto Java ES puede tener un estado incoherente. Como resultado, si se ejecuta el desinstalador Java ES, es posible que elimine Message Queue 4.4 y los componentes compartidos de los que depende por error, aunque dicho instalador no los haya instalado.
La mejor manera de actualizar el software Message Queue que instaló el instalador de Java ES es la siguiente.
Desinstale Message Queue y sus componentes compartidos con el desinstalador Java ES.
Vuelva a instalarlo con el instalador de Message Queue.
Los siguientes problemas afectan a la instalación en todas las plataformas:
La pantalla Listo para la instalación mostrará el nombre del producto como “mq”, en lugar de como Sun Java System Message Queue 4.3. (Fallo 6650841)
Cuando el instalador está en proceso de instalar Message Queue 4.3 y aparece la pantalla de progreso, el botón Cancelar está activo. Si en ese momento se pulsara el botón Cancelar, la instalación quedaría incompleta o interrumpida. (Fallo 6595578)
La pantalla de resumen del instalador contiene una serie de vínculos que, al pulsar sobre ellos, activan un registro o un visor de la página de resumen. Al cerrar la ventana de este visor con el botón X de la ventana en lugar de con el botón marcado con la etiqueta "cerrar", ya no podrá volver a abrir la ventana del visor. (Fallo 6587138)
Solución: Cierre la ventana con el botón Cerrar.
Cuando un sistema de computación tiene versiones anteriores de Message Queue y NSS/NSPR, la pantalla de actualización del instalador sólo muestra que Message Queue necesitan actualizarse; pero no indica si NSS y NSPR también lo necesitan. No obstante, todo el software relevante se actualizará (tal y como indica la pantalla Listo para la instalación, que muestra la información correcta). (Fallo 6580696)
La pantalla Lista de JDK de la selección de JDK está activa incluso cuando no se ha seleccionado la opción “Seleccionar un JDK”. (Fallo 6650874)
Al utilizar el instalador de Message Queue, si el usuario hace clic en Cancelar en lugar de en Eliminar, se eliminarán algunos archivos del instalador de todos modos, y las futuras instalaciones fallarán. (Fallo 6760416)
Al ejecutar el instalador en modo "sólo registro" (installer -r) después de realizar una instalación silenciosa en la que se ha omitido el registro, éste falla con un error "fin de archivo prematuro". (Fallo 6767988)
Al ejecutar el instalador de Message Queue 4.3 en un ordenador en el que se ha instalado previamente Open Message Queue, puede aparecer el siguiente mensaje de error: "Error al leer los datos de sesión anterior de Config-State." (Fallo 6764305)
Solución: el mensaje no supone ningún problema y no volverá a aparecer una vez la instalación se haya completado. O puede eliminar el archivo /var/install/config/mq/InstallDirectory.xcu para que no aparezca el mensaje.
Al ejecutar el instalador de Message Queue basado en zip en un ordenador sin ningún JDK instalado, aparece el siguiente mensaje de error: "Raíz no válida en clave de registro "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion." (Fallo 6764358)
Solución: instale el JDK antes de ejecutar el instalador.
El instalador de Message Queue crea el directorio mqInstallHome antes de que el usuario haga clic en el botón Listo para instalar de la pantalla Listo para instalar. (Fallo 6595590)
Al intentar registrar Message Queue en modo de texto (installer -t -r) sin haber instalado Message Queue, se genera una excepción NullPtr. (Fallo 6760991)
Solución: instale Message Queue antes de intentar registrar la instalación.
Al instalar Message Queue en Windows, tenga presente las siguientes limitaciones:
La estructura de directorios de Message Queue 4.3 en la plataforma Windows es distinta a la de las versiones anteriores. Consulte la sección Installed Directory Structure de Sun GlassFish Message Queue 4.4 Installation Guide.
El instalador no añade entradas de Message Queue en el menú Inicio>Programas. (Fallo 6567258)
Solución: Para iniciar la consola de administración, utilice la línea de comandos tal y como se indica en la sección Starting the Administration Console de Sun GlassFish Message Queue 4.4 Administration Guide.
El instalador no añade el directorio IMQ_HOME\mq\bin a la variable de entorno PATH). (Fallo 6567197)
Solución: Los usuarios deben añadir esta entrada a la variable de entorno PATH o proporcionar un nombre de ruta completa al invocar las utilidades de Message Queue (IMQ_HOME\mq\bin\ command).
El instalador no agrega entradas al registro de Windows para indicar que Message Queue está instalado. (Fallo 6586389)
El instalador no añade el agente de Message Queue como servicio de Windows.
Solución: añada manualmente el agente de Message Queue como servicio de Windows mediante el comando imqsvcadm.
Si no hay ningún JDK instalado, el programa de instalación generará el siguiente error: "Raíz no válida en clave del registro HKLM\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\CurrentVersion". (Fallo 6764358)\par
Solución: si aparece este error, instale un JDK y continúe.
Cuando se ejecuta en modo silencio con un archivo de respuesta, el instalador rebota de inmediato. La instalación se lleva a cabo, pero el usuario no tiene forma de saber cuándo se ha completado la instalación silenciosa.(Fallo 6586560)
Si intenta ejecutar el instalador en modo texto (installer –t ) en Windows, aparecerá un mensaje de error en inglés, incluso si el instalador se ejecuta en otro idioma. No se admite el modo texto en Windows. (Fallo 6594142)
El programa de instalación instala Message Queue en C:\ incluso si el sistema operativo está instalado en una unidad diferente. (Fallo 6673511)
Para instalar y desinstalar en Windows, no existen archivos .bat que el usuario pueda ejecutar ni instalar mediante la función Agregar o Quitar programas del panel de control de Windows. (Fallo 6673417)
En Windows Vista no se puede instalar Message Queue en C:\Archivos de programa a menos que instale con una interfaz de línea de comandos como administrador. (Fallo 6701661)
Solución: Para realizar la instalación con una interfaz de línea de comandos como Administrador:
1. Inicio->Programas->Accesorios->Símbolos del sistema.
2. Haga clic con el botón derecho del ratón en la ventana de línea de comandos.
3. Seleccione Ejecutar como administrador.
4. Cambie el directorio a la imagen de instalación de Message Queue 4.2.
5. Ejecute installer.vbs.
Si el desinstalador se ejecuta en modo de ejecución seca (uninstaller -n), realiza una desinstalación de forma incorrecta. (Fallo 6719051)
Solución: Realice una instalación silenciosa utilizando el siguiente comando:
uninstaller -s
La cadena “Install Home” de la página inicial del instalador no está localizada. (Fallo 6592491)
El desinstalador de Message Queue basado en zip se bloquea en 2003. (Fallo 6764370)
Solución: eliminar manualmente el directorio mqInstallHome.
Si el instalador se ejecuta en modo de ejecución seca (installer –n), la pantalla de resumen muestra algunos mensajes de error y el estado de instalación como “incompleto”. Esto es incorrecto y confunde al usuario; una ejecución seca no instala nada en el sistema, sino que crea sólo un archivo de respuesta que puede utilizarse después para realizar la instalación silenciosa. (Fallo 6594351)
El instalador no realizará el registro en Sun Connection cuando se ejecute en modo silencioso con un archivo de respuesta (installer -a nombrearchivo -s). (Fallo 6710268)
Cuando ejecute el instalador en modo texto, al introducir el nombre de usuario o la contraseña para el registro en Sun Connect o para crear una cuenta en línea, no podrá corregir el nombre de usuario o la contraseña utilizando la tecla de retroceso. (Fallo 6673460)
Solución: Utilice las teclas Control-H en lugar de la tecla de retroceso, o utilice un emulador de terminal diferente, como por ejemplo dtterm o xterm.
La pantalla de actualización del instalador no siempre informa de manera correcta de la versión de Message Queue instalada actualmente o del motor del instalador. (Fallo 6679765)
Al utilizar el instalador en modo texto e intentar el realizar el registro en Sun Connection con un nombre de usuario o contraseña no válidos, el instalador mostrará el cuadro de diálogo “no se ha podido realizar el registro”, lanzará una excepción de puntero nulo y se cerrará. (Fallo 6666365)
Estos son los problemas que se producen al hacer la instalación en la plataforma Linux:
En Redhat Linux 5, la biblioteca compat-libstdc++ necesaria para ejecutar aplicaciones de cliente C no está incluida en la distribución de Message Queue y, por lo tanto, el instalador de Message Queue no la instala. Si va a desarrollar y ejecutar clientes C, deberá instalar esta biblioteca manualmente.
El rpm compat-libstdc++ suele estar incluido en el soporte de instalación de la versión de Linux que se esté utilizando. Se puede instalar mediante el comando siguiente:
rpm -ivh compat-libstdc++-x-x.x.x.x..rpm
x es el número de la versión.
Para comprobar que la biblioteca se ha instalado correctamente, utilice el siguiente comando:
rpm -qa | grep compat-libstdc++
En el panel de selección de JDK, la lista desplazable sólo muestra un elemento. Esto dificulta la selección de otro JDK de la lista. (Fallo 6584735)
Si el JDK es actual y el usuario selecciona "Instalar JDK predeterminado" en la pantalla de selección de JDK, el instalador seguirá intentando instalarlo e informará de que no puede instalar el paquete. La instalación se realiza correctamente a pesar de este problema. (Fallo 6581310)
Si el JDK instalado actualmente es una versión anterior a JDK 1.5.0_15 (la versión que normalmente instala el instalador de Message Queue), el desinstalador de Message Queue no podrá encontrar el directorio predeterminado IMQ_JAVAHOME y se producirá un error. (Fallo 6673415)
Solución: Instale el JDK 1.5 manualmente de la siguiente manera antes de ejecutar el desinstalador de Message Queue.
# cd installImage/Product/UNIX/LINUX/X86/2.4/Packages
# rpm -i --force jdk-1.5.0_15–linux- arch.rpm
arch es i586 o amd64.
Si el instalador se ejecuta en modo de ejecución seca (installer –n), la pantalla de resumen muestra algunos mensajes de error y el estado de instalación como “incompleto”. Esto es incorrecto y confunde al usuario; una ejecución seca no instala nada en el sistema, sino que crea sólo un archivo de respuesta que puede utilizarse después para realizar la instalación silenciosa. (Fallo 6594351)
El instalador de Message Queue en modo de texto no funciona en versiones de Linux de 64 bits. (Fallo 6771303)
Solución: Si está intentando realizar la instalación remotamente desde una ventana de terminal, deberá utilizar algún software de visualización remota para ejecutar el instalador en modo de interfaz gráfica GUI.
El instalador muestra la información de la versión de Message Queue de una manera poco clara. (Fallo 6586507)
En la plataforma Solaris, consulte la siguiente tabla para determinar la versión de Message Queue que aparece en el instalador.
Tabla 1–12 Traducción de la cadena de versiones
Versión que muestra el instalador en el SO Solaris |
Versión de Message Queue correspondiente |
---|---|
4.3.0.0 |
4.3 |
4.2.0.0 |
4.2 |
4.1.0.2 |
4.1 Patch 2 |
4.1.0.1 |
4.1 Patch 1 |
4.1.0.0 |
4.1 |
3.7.2.1 |
3.7 UR2 Patch 1 |
3.7.0.2 |
3.7 UR2 |
3.7.0.1 |
3.7 UR1 |
3.6.0.0 |
3.6 |
3.6.0.4 |
3.6 SP4 |
3.6.0.3 |
3.6 SP3 |
3.6.0.2 |
3.6 SP2 |
3.6.0.1 |
3.6 SP1 |
Para versiones con parche de 3.6 SP4 (por ejemplo, 3.6 SP4 Patch 1), la cadena de las versiones que muestra el instalador sigue siendo la misma. Debe ejecutar el comando imqbrokerd -version para determinar la versión exacta.
En la plataforma Linux, el número de versión que aparece en el instalador tiene el siguiente formato.
majorReleaseNumber.minorReleaseNumber-someNumber
Por ejemplo, 3.7–22. Esto quiere decir únicamente que se trata de una de las versiones 3.7, pero no especifica cuál. Para determinar la versión de Message Queue instalada, ejecute el comando:
imqbrokerd -version.
Estos son los problemas relacionados con la localización.
Cuando el instalador se ejecuta en modo texto (installer –t ) en una configuración regional de lengua no inglesa, los caracteres de varios bytes aparecen como texto basura. (Fallo 6586923)
En la pantalla de progreso del instalador, la barra de progreso muestra caracteres extraños. La información sobre herramientas no es modificable en configuraciones regionales de lengua no inglesa. (Fallo 6591632)
El modo de texto (installer –t) no se admite en Windows. Al ejecutar el instalador en modo de texto en Windows, aparece un mensaje de error. Este mensaje se muestra en inglés aunque el instalador se haya ejecutado en configuraciones regionales de lengua no inglesa. (Fallo 6594142)
La pantalla de licencia del instalador muestra el texto de licencia en inglés, al margen de cuál sea la configuración regional en la que se haya ejecutado. (Fallo 6592399)
Solución: Para acceder a los archivos de licencia traducidos, busque el archivo LICENSE_MULTILANGUAGE.pdf.
El texto de ayuda sobre el uso del instalador no está traducido. (Fallo 6592493)
La cadena "Ninguno" que aparece en la página resumen del instalador aparece en inglés y no es modificable. (Fallo 6593089)
Cuando el instalador se ejecuta en una configuración regional alemana, la pantalla de Bienvenida no muestra el texto completo que se ve en otras configuraciones regionales. (Fallo 6592666)
La cadena "Inicio de instalación" que se ve en la página del instalador del mismo nombre no está traducida. Aparece en inglés aunque el instalador se haya ejecutado en configuraciones regionales de lengua no inglesa. (Fallo 6592491)
Cuando el instalador se ejecuta en modo texto (installer –t ), aparecen las opciones de respuesta en inglés "Yes" y "No", aunque el instalador se haya ejecutado en otra configuración regional. (Fallo 6593230)
La información sobre herramientas del botón Examinar de la pantalla de selección de JDK del instalador aparece en inglés y no es modificable. (Fallo 6593085)
En versiones anteriores de Message Queue, podía usarse la opción —p o —password para especificar la contraseña de manera interactiva para los siguientes comandos: imqcmd, imqbrokerd y imdbmgr. A partir de la versión 4.0., estas opciones se han eliminado.
En lugar de ello, puede crear un archivo de contraseñas que especifique las contraseñas relevantes y hacer referencia al archivo de contraseñas utilizando la opción del comando -passfile, o simplemente introducir una contraseña cuando el comando se lo solicite.
Un archivo de contraseñas puede contener una o varias de las contraseñas enumeradas más abajo.
Una contraseña keystore utilizada para abrir el keystore de SSL. Utilice la propiedad imq.keystore.password para especificar la contraseña.
Una contraseña de depósito LDAP utilizada para conectar de forma segura con un directorio LDAP si la conexión no es anónima. Utilice la propiedad imq.user_repository.ldap.password para especificar esta contraseña.
Una contraseña de base de datos JDBC utilizada para conectarse con la base de datos compatible con JDBC. Utilice la propiedad imq.persist.jdbc.vendorName.password para especificar esta contraseña. El componente vendorName del nombre de propiedad es una variable que especifica el proveedor de la base de datos. Las opciones son hadb, derby, pointbase, oracle o mysql.
Una contraseña para el comando imqcmd (para realizar tareas administrativas del agente). Utilice la propiedad imq.imqcmd.password para especificar esta contraseña.
En el siguiente ejemplo, la contraseña de la base de datos JDBC se ha establecido en el archivo de contraseñas como abracadabra.
imq.persist.jdbc.mysql.password=abracadabra
Puede utilizar un archivo de contraseñas de cualquiera de las siguientes formas.
Configure el agente que va a utilizar el archivo de contraseñas estableciendo las siguientes propiedades en el archivo config.properties del agente.
imq.passfile.enabled=trueimq.passfile.dirpath= contraseñaDirectorioArchivo imq.passfile.name=contraseñaNombreArchivo
Utilice la opción -passfile del comando relevante, como por ejemplo:
imqbrokerd -passfile contraseñaNombreArchivo
Los siguientes problemas están relacionados con la administración y la configuración de Message Queue
En plataformas Windows, debe añadir manualmente el agente de Message Queue como un servicio de Windows utilizando el comando imqsvcadm. El programa de instalación no hará por usted.
En plataformas Windows, el cortafuegos integrado en Windows, que está activado de manera predeterminada, debe configurarse de forma manual con una regla de cortafuegos que permita al agente aceptar conexiones entrantes de clientes. (Fallo 6675595)
En el Panel de control, haga doble clic en Firewall de Windows
Debe hacer clic en Continuar en el cuadro de diálogo Control de cuentas de usuario para que se abra el cuadro de diálogo Configuración de Firewall de Windows.
En el cuadro de diálogo Configuración de Firewall de Windows, haga clic en la ficha Excepciones.
Haga clic en Añadir programa.
En el cuadro de diálogo Añadir un programa, seleccione java.exe y haga clic en Examinar.
Windows identifica el proceso del agente como Java Platform SE binary. Por lo tanto, busque el archivo java.exe que ha utilizado el agente (normalmente en jdk1.5.0_15\jre\bin\java.exe).
Haga clic en Cambiar ámbito.
En el cuadro de diálogo Cambiar ámbito, seleccione “Cualquier equipo (incluyendo los que están en Internet).”
Haga clic en Aceptar.
En el cuadro de diálogo Añadir un programa, haga clic en Aceptar.
En el cuadro de diálogo Configuración de Firewall de Windows, haga clic en Aceptar.
En plataformas Windows, los comandos imqadmin y imqobjmgr generan un error cuando CLASSPATH contiene comillas dobles. (Fallo 5060769)
Solución: Abra una ventana de línea de comandos y anule CLASSPATH:
set classpath=
A continuación, ejecute el comando que desee con la misma ventana de línea de comandos, por ejemplo:
mqInstallHome\mq\bin\imqadmin
La opción -javahome en todas las secuencias de comandos de Solaris y Windows no funciona si el valor proporcionado contiene un espacio. ( Fallo 4683029)
Los comandos y herramientas de Message Queue utilizan la opción javahome para especificar un entorno de tiempo de ejecución alternativo compatible con Java 2. Pero el nombre de la ruta del entorno de tiempo de ejecución de Java alternativo no debe contener espacios. A continuación le mostramos ejemplos de rutas que incluyen espacios.
Windows: C:\jdk 1.4
Solaris: /work/java 1.4
Solución: Instale el tiempo de ejecución Java en una ubicación o ruta que no contenga espacios en blanco.
El atributo imqQueueBrowserMaxMessagesPerRetrieve especifica el número máximo de mensajes que el tiempo de ejecución del cliente extrae a la vez cuando examina el contenido de una cola. El atributo influye en cómo se agrupan los mensajes en cola que se van a enviar al tiempo de ejecución de cliente, pero no afecta al número total de mensajes examinados. El atributo sólo afecta al mecanismo de navegación, no afecta al envío de los mensajes en cola. (Fallo 6387631)
Los problemas siguientes afectan al agente de Message Queue.
No se puede tener acceso al agente cuando un almacén de datos persistente abre demasiados destinos. (Fallo 4953354)
Solución: Esta situación se produce cuando el agente alcanza el límite de descriptor de archivos abiertos del sistema. En Solaris y Linux utilice la orden ulimit para incrementar el límite del descriptor de archivos.
Cuando se destruye un destino, los consumidores se quedan sin referencia. ( Fallo 5060787)
Los consumidores activos se quedan sin referencia cuando se destruye un destino. En ese caso, dejan de recibir mensajes (aunque se vuelva a crear el destino).
Cuando un cliente JMS que utiliza servicio de conexión HTTP finaliza de forma abrupta (por ejemplo por el uso de Ctrl-C), el agente tarda aproximadamente un minuto en liberar la conexión del cliente y todos los recursos asociados.
Si se inicia otra instancia del cliente dentro de este periodo de un minuto y si ésta intenta utilizar el mismo ClientID, la misma suscripción duradera o cola, es posible que se genere la excepción "ID de cliente ya en uso". No se trata de un problema real, es simplemente un efecto secundario del proceso de finalización descrito anteriormente. Si el cliente se inicia después de un retraso de aproximadamente un minuto, todo debería funcionar correctamente.
Al utilizar la base de datos MySQL para un almacén de datos, los mensajes almacenados de más de 1 MB generarán una excepción SQL “El paquete de la consulta es demasiado grande...". (Fallo 6682815)
Solución: Inicie el servidor MySQL con la opción --max_allowed_packet establecida en un valor mayor que 1 MB, el tamaño predeterminado. Por ejemplo, utilice el siguiente valor:
--max_allowed_packet=60M
Al utilizar la base de datos MySQL para un almacén de datos compartido de alta disponibilidad, se necesita un mecanismo para configurar el motor de almacenamiento MySQL como NDBCLUSTER . (Fallo 6691394)
Solución: Añada la siguiente propiedad al archivo config.properties del agente (consulte la sección Enhanced Clusters: JDBC Configuration Properties de Sun GlassFish Message Queue 4.4 Administration Guide)
imq.persist.jdbc.mysql.tableoption=EMGINE=NDBCLUSTER
Si utiliza el controlador 9i de Oracle (JDBC 9.2.0.x), el agente genera la excepción "Fallo al definir propiedad como persistente...”. (Fallo 6626825)
Solución: Utilice el controlador 10g de Oracle (JDBC 10.2.0.x), para el que el agente está optimizado.
imq.persist.jdbc.derby.table.MYCONSTATE41.index.IDX2=CREATE INDEX &(index) ON $(name) (MESSAAGE_ID)
Cuando utilice la base de datos Java DB para un almacén de datos, al almacenar un mensaje se generará la excepción SQL “no se ha podido obtener un bloqueo en el tiempo solicitado”. (Fallo 6691394)
Solución: Añada el siguiente valor de propiedad al archivo config.properties del agente::
imq.persist.jdbc.derby.table.MYCONSTATE41.index.IDX2=CREATE INDEX &(index) ON $(name) (MESSAAGE_ID)
Los siguientes problemas afectan a las agrupaciones de agentes.
En esta versión, sólo se admiten agrupaciones de agentes totalmente conectadas. Esto significa que todos los agentes de una agrupación deben comunicarse directamente con todos los demás agentes de la agrupación. Si se conecta a agentes de una agrupación convencional mediante el argumento de línea de comandos imqbrokerd -cluster, asegúrese de que se incluyen todos los agentes del clúster.
Si un cliente se conecta a un agente de una agrupación de agentes mejorada, el tiempo de ejecución del cliente intentará reconectar hasta que lo consiga (ignora el valor del atributo de fábrica de conexión imqAddressListIterations.)
Un cliente sólo podrá examinar el contenido de las colas que estén ubicadas en su agente local. El cliente puede continuar enviando mensajes a cualquier cola o consumiendo mensajes desde una cola de cualquier agrupación; esta limitación sólo afecta a las funciones de exploración de colas.
En una agrupación convencional que incluya agentes de la versión 4.3, todos los agentes deben ser de la versión 3.5 o posterior.
Los agentes de Message Queue 4.3, 4.2 y 4.1 no pueden interoperar en una agrupación de forma predeterminada con agentes de Message Queue 3.7 o 3.6, dado que el valor predeterminado de imq.autocreate.queue.maxNumActiveConsumers se ha modificado entre estas versiones. (Fallo 6716400)
Solución: Asegúrese de que todos los agentes tienen el mismo valor para la opción imq.autocreate.queue.maxNumActiveConsumers, normalmente, puede cambiar la configuración de Message Queue 4.3, 4.2 y 4.1 para que coincida con la que se usan los agentes de las versiones 3.7 y 3.6 (cambie el valor predeterminado -1 al valor de la versión anterior: 1).
Para añadir un agente de Message Queue 4.3 (o 4.x) a una agrupación de agentes de Message Queue 3.x, el agente principal debe estar ejecutándose. (Fallo 6763796)
Al convertir una agrupación convencional en una mejorada, puede usar la herramienta de administración de bases de datos de Message Queue (imqdbmgr ) para convertir un almacén de datos basado en JDBC independiente en un almacén de datos basado en JDBC compartido, como se explica en la sección Cluster Conversion: JDBC-Based Data Store de Sun GlassFish Message Queue 4.4 Administration Guide
Un agente que utilice HADB no puede gestionar mensajes superiores a 10 MB. (Fallo 6531734)
La conversión a un almacén HADB con el comando imqdbmgr upgrade hastore puede fallar y generar el mensaje "hay demasiados bloqueos establecidos" si el almacén contiene más de 10.000 mensajes. (Fallo 6588856)
Solución: Utilice el siguiente comando para aumentar el número de bloqueos.
hadbm set NumberOfLocks=<número>
Para más información, consulte "Problemas de HADB" en la Guía de resolución de problemas de Sun Java System Application Server 9.1 Enterprise Edition.
Si se confirman más de 500 mensajes remotos en una transacción, el agente podría devolver el error "HADB-E-12815: Espacio de memoria de tabla agotado.” (Fallo 6550483)
Para más información, consulte "Problemas de HADB" en la Guía de resolución de problemas de Sun Java System Application Server 9.1 Enterprise Edition.
En una agrupación de agentes, el agente coloca mensajes en la cola para una conexión remota que no se ha abierto. (Fallo 4951010)
Solución: El consumidor recibirá los mensajes cuando se abra la conexión. Los mensajes se enviarán a otro consumidor si la conexión con el consumidor sigue cerrada.
Al consumir más de un mensaje de un agente remoto en una transacción, es posible que se registre en el agente el siguiente mensaje de error. El mensaje es benigno y puede omitirse:
[26/Jul/2007:13:18:27 PDT] WARNING [B2117]: Message acknowledgement failed from mq://129.145.130.95:7677/?instName=a&brokerSessionUID=3209681167602264320: ackStatus = NOT_FOUND(404)\ Reason = Update remote transaction state to COMMITED(6): transaction 3534784765719091968 not found, the transaction may have already been committed. AckType = MSG_CONSUMED MessageBrokerSession = 3209681167602264320 TransactionID = 3534784765719091968 SysMessageID = 8-129.145.130.95(95:fd:93:91:ec:a0)-33220-1185481094690 ConsumerUID = 3534784765719133952\par [26/Jul/2007:13:18:27 PDT] WARNING Notify commit transaction [8-129.145.130.95(95:fd:93:91:ec:a0)-33220-1185481094690, [consumer:3534784765719133952, type=NONE]] TUID=3534784765719091968 got response: com.sun.messaging.jmq.jmsserver.util.BrokerException: Update remote transaction state to COMMITED(6): transaction 3534784765719091968 not found, the transaction may have already been committed.: com.sun.messaging.jmq.jmsserver.util.BrokerException: Update remote transaction state to COMMITED(6): transaction 3534784765719091968 not found, the transaction may have already been committed.r
El mensaje se registra al notificar la confirmación al agente de inicio del mensaje para posteriores mensajes de la transacción cuando la propiedad imq.txn.reapLimit es baja comparada con el número de mensajes remotos de una transacción. (Fallo 6585449)
Solución: Para evitar este mensaje, aumente el valor de la propiedad imq.txn.reapLimit.
En la plataforma Windows, el método getTransactionInfo de Transaction Manager Monitor MBean devuelve información de la transacción con un tiempo de creación de transacción incorrecto. (Fallo 6393359)
Solución: Utilice el método getTransactionInfoByID de Transaction Manager Monitor MBean en su lugar.
Es necesario que tenga en cuenta dos cuestiones relacionadas con la compatibilidad con SOAP
A partir de la versión 4.0 de Message Queue, ya no se admiten objetos administrados por SOAP.
El desarrollo de SOAP depende de varios archivos: SUNWjaf, SUNWjmail, SUNWxsrt y SUNWjaxp. En la versión 4.1 de Message Queue, estos archivos sólo están disponibles si ejecuta Message Queue con JDK versión 1.6.0 o posterior.
Anteriormente, el archivo .jar de la implementación de SAAJ 1.2 hacía referencia directamente a mail.jar. En SAAJ 1.3 ya no existe esta referencia; por lo que los clientes de Message Queue deben poner mail.jar explícitamente en CLASSPATH .