Estos son los problemas que afectan a los agentes de clúster.
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 agente que utilice HADB no puede gestionar mensajes superiores a 10 MB. (Fallo 6531734)
Si un cliente está conectado a un agente de alta disponibilidad, el tiempo de ejecución del cliente intentará volver a establecer la conexión hasta que lo consiga (con independencia de cuál sea el valor de imqAddressListIterations).)
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.
En un clúster convencional, si desea "clustear" un agente de 4.1 con un agente 3.x, debe establecer la propiedad imq.autocreate.queue.maxNumActiveConsumers=1 del clúster 4.1. De lo contrario, los agentes no serán capaces de establecer una conexión de clúster.
Al convertir un clúster de alta disponibilidad, puede utilizar la utilidad Message Queue Manager (imqdbmgr) para convertir un almacén de datos persistentes de un HADB independiente existente en un almacén HADB. El comando es el siguiente:
imqdbmgr upgrade hastore
Puede utilizar esta utilidad en los siguientes casos:
Para mover un almacén HADB independiente 4.0 a otro compatido 4.1. En este caso, el agente actualizará automáticamente el almacén. Puede ejecutar el comando imqdbmgr para convertir el almacén de datos actualizado para uso compartido.
Para mover un almacén HADB independiente 4.1 a otro compatido. En este caso, sólo tendrá que ejecutar el comando imqdbmgr de arriba para convertir el almacén de datos para uso compartido.
Dado que este comando sólo admite la conversión de los almacenes HADB, no es posible utilizarlo para convertir los almacenes basados en archivos u otros almacenes de JDBC a un almacén HADB compartido. Si ejecutaba antes una versión 3.x de Message Queue, deberá crear un almacén HADB y después migrar manualmente sus datos a ese almacén para utilizar la función de alta disponibilidad.
La conversión a un almacén HADB con este comando imqdbmgr upgrade hastore puede fallar con el mensaje "hay demasiados bloqueos establecidos" si el almacén contiene más de 10.000 mensajes. (Fallo ID 6588856)).
(Solución alternativa) Utilice el siguiente comando para aumentar el número de bloqueos.
hadbm set NumberOfLocks=<desiredNumber>
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: Agotado el espacio de memoria de la tabla." (Fallo ID 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 un clúster de agente, el agente coloca mensajes en la cola para una conexión remota que no se ha iniciado (Fallo ID 4951010).
Solución alternativaEl 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.
Al consumir más de un mensaje de un agente remoto de 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]: Error al reconocer el mensaje de mq://129.145.130.95:7677/?instName=a&brokerSessionUID=3209681167602264320: ackStatus = NOT_FOUND(404)\ Motivo = Actualización del estado de la transacción remota a CONFIRMADO(6): transacción 3534784765719091968 no encontrada, la transacción puede haber sido ya confirmada. 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] AVISO Notifi. conf. transacc. [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: Actualizar estado de transacción remota a CONFIRMADO(6): transacción 3534784765719091968 no encontrada, la transacción puede haber sido ya confirmada: com.sun.messaging.jmq.jmsserver.util.BrokerException: Actualizar estado de transacción remota a CONFIRMADO(6): transacción 3534784765719091968 no encontrada, la transacción puede haber sido ya confirmada.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 mesajes remotos de una transacción. (Fallo 6585449)
Solución alternativa Para evitar este mensaje, aumente el valor de la propiedad imq.txn.reapLimit.