Esta sección contiene una lista de los problemas conocidos de Message Queue 4.4 Update 1. 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 Update 1.
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 4.4.
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.
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 en un equipo 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 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 Installed Directory Structure en la Sun Java System Message Queue 4.3 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)
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)
Estos son los problemas que se producen al hacer la instalación en la plataforma Linux:
En Red Hat 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 Red Hat Linux 5, los clientes C pueden fallar con un error PR_LOAD_LIBRARY_ERROR (Error 6885978)
En Red Hat Linux 5, los clientes C pueden fallar y mostrar un mensaje parecido a:
"Preparing for NSS initialization ..." "Initializing NSS ..." "Could not connect to broker because 'PR_LOAD_LIBRARY_ERROR' (-5977)." producer(): Error: PR_LOAD_LIBRARY_ERROR |
Este error se produce porque las bibliotecas NSS/NSPR no están accesibles.
Para solucionar este problema, defina la variable de entorno LD_LIBRARY_PATH para incluir la ruta a las bibliotecas NSS/NSPR, IMQ_HOME/nss/lib .
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 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–13 Traducción de la cadena de versiones
Versión que muestra el instalador en el SO Solaris |
Versión de Message Queue correspondiente |
---|---|
4.4.1.0 |
4.4 Update 1 |
4.4.0.0 |
4.4 |
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)
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 son generados por 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)
En plataformas Linux con SELinux, el comando pkg del Centro de actualización falla (Bug 6892062)
Solución: Este error lo provoca un problema conocido del Centro de actualización (https://updatecenter2.dev.java.net/issues/show_bug.cgi?id=1211). Utilice el siguiente comando para activar pkg de modo que funcione en SELinux con activación forzada:
# chcon -f -t textrel_shlib_t $IMAGE/pkg/vendor-packages/OpenSSL/crypto.so |
Los problemas siguientes afectan al agente de Message Queue.
Los clientes de Message Queue 4.4 reciben una advertencia poco clara al conectarse con agentes de Message Queue 3.7 (Error 6899886)
Cuando un cliente de Message Queue 4.4 se conecta a un agente de Message Queue 3.7, el cliente recibe una advertencia de tipo:
WARNING [I500]: Caught JVM exception: ... [C4036]: A broker error occurred. :[505] bad version ...
Esta advertencia de “versión incorrecta” indica que el cliente debe conectarse al agente con un nivel de protocolo inferior.
Al utilizar un almacén de datos JDBC, la contraseña de la base de datos se almacena como texto visible (Error 6691717)
Solución: proteger el archivo de contraseña que contiene la contraseña de la base, tal y como se describe en Password Files de Sun GlassFish Message Queue 4.4 Administration Guide.
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)
Al utilizar IBM JVM en AIX, el agente puede entrar en condición de memoria baja o RED sin motivo aparente (Error 6899526)
Solución: utilice la versión más reciente de JVM IBM (Java Runtime 1.6.0 IBM Corporation o superior) y envíe la siguiente opción de IBM JVM GC a imqbrokerd:
# imqbrokerd -vmargs -Xgcpolicy:gencon |
Los siguientes problemas afectan a las agrupaciones de agentes.
Agente de alta disponibilidad con almacén de datos MySQL Cluster no puede reiniciarse si se finalizó de manera inapropiada (Error 6896877)
Solución: Este problema lo provoca un problema conocido de MySQL Cluster (http://bugs.mysql.com/bug.php?id=47955). Se ha aplicado una corrección de este problema a las versiones de MySQL 5.1.39-ndb-6.3.28 , 5.1.39-ndb-7.0.9 y 5.1.39-ndb-7.1.0.
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 .