Esta sección contiene una lista de los problemas conocidos de Message Queue 3.7 UR1. Se describen las siguientes áreas del producto:
Para obtener una lista de problemas actuales, junto con su estado y una solución temporal, los miembros de Java Developer Connection™ pueden consultar la página Bug Parade del sitio web Java Developer Connection. Compruebe la página antes de informar de 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 sobre nuevas funcionalidades, envíe un mensaje a imq-feedback@sun.com .
El servicio de conexión mediante SSL sólo admite actualmente certificados de servidor firmados automáticamente, es decir, en el modo de host de confianza.
Cuando un cliente JMS que utiliza transporte HTTP finaliza de forma abrupta (por ejemplo por el uso de Ctrl-C), el agente tarda aproximadamente un minuto a 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, suscripción duradera o cola, es posible que obtenga 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.
En Message Queue 3.7 UR1, la configuración del agente de ejemplo para el uso del servidor LDAP como depósito de usuario se proporciona en el área para comentarios del archivo config.properties, y el ejemplo de depósito de usuario del LDAP en el archivo default.properties ha sido eliminado mediante conversión en comentarios.
Si anteriormente dependía de un valor de una propiedad de las propiedades del depósito de usuario LDAP especificados en el archivo default.properties, su cliente de aplicación JMS recibirá una excepción de seguridad al intentar crear una conexión JMS. Esto ocurrirá tras la actualización de Message Queue 3.7 UR1.
Cuando su cliente JMS intenta establecer una conexión con el agente Message Queue 3.7 UR1, aparecerá un error en el registro del agente y su cliente JMS recibirá la excepción siguiente:
SecurityException. 20/Aug/2004:11:16:41 PDT] ERROR [B4064]: Ldap repository ldap property .uidattr not defined for authentication type basic:com.sun.messaging.jmq.auth.LoginException: [B4064]: Ldap repository ldap property .uidattr not defined for authentication type basic
Solución temporal Establezca la propiedad imq.user_repository.ldap.uidattr del agente según las instruccinoes del Capítulo 7, Managing Security de Sun Java System Message Queue 3.7 UR1 Administration Guide.
Los siguientes temas tienen que ver con clústeres.
Sólo se admiten en esta versión los clústeres de agentes totalmente conectados. Esto significa que todos los agentes de un clúster deben establecer comunicación directamente con todos los demás agentes del clúster. Si se conecta a agentes mediante el argumento de orden imqbrokerd -cluster, asegúrese de que se incluyen todos los agentes del clúster.
Un cliente conectado a un agente que es parte de un clúster por ahora no puede utilizar QueueBrowser para ver las colas que están ubicadas en agentes remotos del clúster. El cliente sólo puede examinar el contenido de las colas que se encuentran en el agente al que está directamente conectado. El cliente puede continuar enviando mensajes a cualquier cola o consumiendo mensajes desde una cola de cualquier agente del clúster; esta limitación sólo afecta a las funciones de exploración.
Si un agente maestro no se utiliza en un clúster de agente, la información persistente almacenada por un agente que se añada a un clúster no se propagará a otros agentes del clúster.
La conexión finaliza para un agente de un clúster (Bug ID 6377527).
Un motivo por el que esto puede ocurrir es que la dirección del agente (cuya conexión ha sido finalizada) se determina como la dirección IP loopback (127.0.0.1).
Solución temporal Asegúrese de que la dirección del agente no se determine como la dirección IP loopback
En un clúster de agente el agente coloca mensajes en la cola para una conexión remota que no se ha iniciado (Bug ID 4951010).
Solución temporal El consumidor recibirá los mensajes cuando se establezca la conexión. Los mensajes se enviarán a otro consumidro si se cierra la conexión del consumidor.
Los siguientes problemas pertenecen a la administración y configuración de Message Queue.
Las utilidades imqadmin y imqobjmgr producen un error cuando CLASSPATH contiene comillas en máquinas Windows (Bug ID 5060769)
Solución temporal Puede ignorar este mensaje de error; el agente actúa correctamente, informando a los consumidores de los errores. Este error no afecta a la fiabilidad del sistema.
La opción -javahome en todos los scripts de Solaris y Windows no funciona si el valor proporcionado contiene un espacio (Bug ID 4683029).
La opción javahome es utilizada por las órdenes y utilidades de Message Queue para especificar un entorno de tiempo de ejecución alternativo compatible con Java 2. Sin embargo, 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 temporal Instale el entorno de tiempo de ejecución de Java en un lugar cuya ruta no contenga espacios.
El atributo imqQueueBrowserMaxMessagesPerRetrieve especifica el número máximo de mensajes que el sistema de tiempo de ejecución recupera de una sola vez cuando explora los contenidos de un destino de cola. Tenga en cuenta que la aplicación del cliente siempre obtendrá todos los mensajes de la cola. Así, el atributo imqQueueBrowserMaxMessagesPerRetrieve afecta cómo se dividen los mensajes de la cola, para entregarlos al sistema de tiempo de ejecución del cliente (menos bloques pero más grandes o más bloques pero pequeños), pero no afecta al número total de mensajes explorados. Cambiar el valor de este atributo puede tener un afecto adverso sobre el rendimiento, pero no tendrá como resultado que la aplicación del cliente obtenga más o menos datos ( Bug ID 6387631).
Los problemas siguientes afectan al agente de Message Queue.
El comando imqbrokerd —license muestra información desfasada o duplicada. Muestra información sobre la licencia de prueba, aunque este tipo de licencia ya no tiene asistencia (ID de error 6489711) y muestra información duplicada sobre la licencia unl (ID de error 6441015).
Solución temporal Se trata de problemas leves que no requieren ninguna solución temporal.
El agente no cumple el límite predeterminado de 1000 mensajes para la cola de mensajes inactiva; sigue agregando mensajes a dicha cola hasta que se agota la memoria del agente. (ID de error 6502744)
Solución temporal Restablece la cola de mensajes inactiva a 1001 o a cualquier otro valor distinto de 1000.
HTTPS createQueueConnection a veces lanza una excepción en Windows 2000. (Bug ID 4953348).
Solución temporal Vuelva a probar la conexión.
Al utilizar Ctrl-C para cerrar el agente, las transacciones puede que se limpien después de que se cierre el almacén (Bug ID 4934446).
El agente puede mostrar errores con el motivo siguiente: "Acceso al método del almacén después de que se haya cerrado el almacén".si se cierra el agente mientras se están procesando mensajes o transacciones.
Solución temporal Puede ignorar este mensaje de error; el agente trata correctamente la notificación a los consumidores de cualquier error. Este error no afecta a la fiabilidad del sistema.
No se puede tener acceso al agente cuando un almacén persistente abre demasiados destinos (Bug ID 4953354).
Solución temporal Esta condición está causada por el hecho de que el agente ha llegado al límite de archivos abiertos del descriptor del sistema. En Solaris y Linux utilice la orden ulimit para incrementar el límite del descriptor de archivos.
Los consumidores se quedan sin referencia cuando se destruye un destino ( Bug ID 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).
Solución temporal No existe ninguna solución temporal para este problema.
No funciona la selección de mensajes con el uso de JMSMessageID (Bug ID 6196233).
Solución temporal Cambie el selector de la expresión siguiente
JMSMessageID = "ID:message-id-string"
por la expresión siguiente
JMSMessageID IN (’ID:message-id-string’, ’message-id-string’)
Message Queue Un navegador de la cola muestra mensajes no confirmados ( Bug ID 6264003).
Al navegar por los contenidos de una cola, los mensajes que se produjeron en una transacción pero que no se confirmaron pueden aparecer en la enumeración del navegador de la cola.
Solución temporal No existe ninguna solución temporal para este problema.
Después de una interrupción del agente durante una confirmación, los mensajes pueden quedar no disponibles (ID de error 6467874).
En raras ocasiones, durante la interrupción de un agente, los mensajes pueden quedar no disponibles para los consumidores. En concreto, hay un breve plazo del proceso de confirmación que puede provocar que el mensaje quede bloqueado en el almacén persistente. Cuando esto sucede, aparece el mensaje siguiente al iniciar el agente después de una parada.
[06/Sep/2006:10:11:11 PDT] ERROR [B2085]: Loading Destination q0 [Queue] failed. Messages stored on that destination will not be available.: > com.sun.messaging.jmq.jmsserver.util.BrokerException: The message 8-129.145.180.87(b8:8b:26:15:41:26)-38998-1157562551217 has an associated acknowledgement list already.
Solución temporal No existe ninguna solución temporal para este problema.
No existe ningún producto independiente para la versión beta de Message Queue 3.7 UR1. Para esta versión, debe instalar Message Queue mediante el instalador de Java Enterprise System y consultar la Guía de instalación de Sun Java System para obtener instrucciones.