Versión 3.7 UR1
Número de referencia 820-0484
Estas notas de la versión contienen información importante que está disponible en el momento del lanzamiento de Sun Java™ System Message Queue 3.7 UR1. Aquí se tratan nuevas funciones y mejoras, limitaciones y problemas conocidos e información de otro tipo. Lea este documento antes de empezar a utilizar Message Queue.
La versión más actualizada de estas notas de la versión se encuentra en el sitio web de documentación de Sun Java System Message Queue Consulte el sitio Web antes de instalar y configurar el software y, después, visítelo de forma periódica para ver los manuales y las notas de la versión más actualizados.
En estas notas de la versión se incluyen los siguientes apartados:
Se hace referencia a las direcciones URL de terceras partes para proporcionar información adicional relacionada.
Sun no se responsabiliza de la disponibilidad de las sedes Web de otras empresas que se mencionan en este documento. Sun no garantiza ni se hace responsable de los contenidos, la publicidad, los productos u otros materiales que puedan estar disponibles a través de dichos sitios o recursos. Sun no será responsable de daños o pérdidas, supuestos o reales, provocados por o a través del uso o confianza del contenido, bienes o servicios disponibles en dichos sitios o recursos, o a través de ellos.
Fecha |
Descripción de los cambios |
---|---|
Agosto de 2006 |
Versión inicial de este documento |
Febrero de 2007 |
Version final de este documento. |
Sun Java System Message Queue es un servicio de mensajería completo que proporciona funciones fiables y asíncronas, conformes con la especificación Java Messaging Specification (JMS) 1.1. Además, Message Queue incluye funciones que superan la especificación JMS para dar satisfacción a las necesidades de las instalaciones en grandes empresas.
Message Queue 3.7 UR1 es una versión de mantenimiento de Message Queue 3.6. Incluye soluciones a los problemas y una pequeña cantidad de mejoras de menor entidad. En esta sección se recoge la información siguiente:
Message Queue 3.7 UR1 ofrece las funciones nuevas siguientes:
Combinación de funciones de plataforma y de empresa en una edición.
La interfaz cambia a la API de C y al entorno de tiempo de ejecución de cliente de C
Se describen en las secciones secundarias siguientes.
En un intento de agilizar la entrega de nuestro producto, combinamos las ediciones de plataforma y de empresa de Sun Java Message Queue. A partir de Message Queue 3.7 UR1, sólo habrá una edición, que suprime eficazmente las restricciones que tenía la distribución autónoma. Confiamos en que esto simplifique su experiencia con este producto.
La combinación de ediciones también sintoniza mejor Message Queue con Solaris Enterprise System y proporciona un derecho con una base amplia para usar las funciones de Enterprise Edition, sin asistencia técnica, mantenimiento ni indemnización. Al igual que con versiones anteriores, seguiremos ofreciendo varias opciones de licencia para los servicios de asistencia técnica y mantenimiento. Message Queue seguirá en el mismo paquete que Java Enterprise System y la Application Platform Suite. Consulte la tienda en línea, en http://www.sun.com o pregunte a su representante para buscar averiguar la opción que mejor se ajusta a su situación. La tabla siguiente describe las formas de actualizar a la nueva edición única de Message Queue.
Tabla 1–2 Vías de actualización para Message Queue 3.7 UR1
Edición anterior |
Vía de actualización |
Comentarios |
---|---|---|
Edición Platform |
Sun Java System Message Queue 3.7 UR1 |
Todas las funciones (plataforma y empresa) están ahora disponibles para los clientes 3.7 UR1. Las opciones de asistencia están disponibles con la compra de la licencia. |
Edición Enterprise |
Sun Java System Message Queue 3.7 UR1 |
Sin cambios en las funciones. Existe una gama de opciones de licencia y de asistencia técnica. |
Contratos de asistencia para la edición Platform |
Actualización al contrato de asistencia técnica para la edición Enterprise |
Los contratos de asistencia actuales para versiones anteriores de la edición Platform seguirán renovándose. No se emitirán nuevos contratos de la edición Platform para versiones anteriores de la edición Platform. |
Contratos de asistencia para la edición Enterprise |
Sin cambios |
Los contratos actuales seguirán renovándose. Se emitirán nuevos contratos. |
La tabla siguiente describe los cambios en las fuentes de distribución para distintos productos de Message Queue.
Tabla 1–3 Cambios en las fuentes de distribución para los productos Message Queue
Producto |
Fuente de distribución anterior |
Fuente de distribución nueva |
Comentarios |
Abrir Message Queue |
No aplicable |
Página de productos del centro de descarga de Sun |
Descarga autónoma. Sólo asistencia de comunidad. No está disponible ningún contrato de asistencia. |
Message Queue, edición Platform |
Centro de descarga de Sun mediante la página de producto de Message Queue |
No disponible ya |
Actualmente sólo está disponible la edición sencilla de Message Queue que combina las funciones de la edición Platform y Enterprise. |
Message Queue Enterprise Edition, versión de prueba (mediante edición Platform) |
Centro de descarga de Sun mediante la página de producto de Message Queue |
No hace falta ya la licencia de prueba |
Ya no hace falta |
Message Queue Enterprise Edition, versión de prueba de 90 días (mediante descarga o CD de Java Enterprise System) |
Centro de descargas Java Enterprise System, antes de la versión 3 GA (marzo de 2006) |
Centro de descargas de Solaris Enterprise System |
Licencia Solaris Enterprise System. No están disponibles las opciones de asistencia sin una licencia de producto. (Ya no se necesita licencia de prueba de 90 días.) |
Message Queue Enterprise Edition mediante SunStore, CD, licencia individual, licencia Java Enterprise System, licencia Suite, proporcionada mediante Java Enterprise System. |
Centro de descargas de Java Enterprise System o Suite, soportes. |
Centro de descargas de Solaris Enterprise System o Suite, entrega soportes |
Gratuito. |
Nueva función: MQGetDestinationName()
MQGetDestinationName (const MQDestinationHandle destinationHandle, MQString * destinationName); |
Utilice esta función para obtener el nombre del destino. El valor de destinationName devuelto es una copia que el llamante tiene la responsabilidad de liberar mediante una llamada a MQFreeString() .
Parámetros
Un enlace al destino cuyo nombre quiere averiguar.
El parámetro de salida para el nombre.
Esta función es útil cuando se utiliza el modelo de respuesta. Puede utilizar la función MQGetMessageReplyTo para obtener un enlace al destino donde se debe enviar el mensaje. Después puede utilizar MQGetDestinationName para obtener el nombre del destino. Una vez ha obtenido el nombre del destino, puede procesar mensajes en base al nombre.
Nuevo valor enumerado: MQ_MESSAGE
El nuevo mensaje MQMessageType, MQ_MESSAGE permite a los clients de C intercambiar mensajes JMS de tipo Mensaje con otros clientes de Message Queue (sean C o Java):
typedef enum _MQMessageType {MQ_TEXT_MESSAGE = 0, MQ_BYTES_MESSAGE = 1, MQ_MESSAGE = 3, MQ_UNSUPPORTED_MESSAGE = 2} MQMessageType; |
El tipo de datos MQ_MESSAGE identifica mensajes que tienen una cabecera y propiedades, pero que no tienen texto de mensaje. La función MQCreateMessage () se utiliza para crear un mensaje de este tipo.
Una nueva propiedad de conexión, MQ_UPDATE_RELEASE_PROPERTY, que especifica la versión de la actualización de Message Queue. Utilice la función MQGetMetaData() para obtener información sobre la versión.
Se han realizado dos cambios al formato de almacenamiento de Message Queue para mejorar el rendimiento. Uno de los cambios es en el almacén de archivos, el otro en el almacén JDBC.
Información de transacción en el almacén de archivos.
El formato de la información de estado almacenada en el almacén de archivos de Message Queue ha sido modificado para reducir la E/S de disco y mejorar el rendimiento de las transacciones JMS.
Almacén Oracle JDBC
En versiones previas de Message Queue el esquema del almacén utilizado con Oracle utilizaba el tipo de datos LONG RAW para almacenar datos de mensajes del almacén. En Oracle 8, Oracle introdujo los tipos de datos BLOB y dejó de utilizar el tipo LONG RAW. Message Queue 3.7 UR1 ha adoptado el tipo de datos BLOB para mejorar el rendimiento y la compatibilidad.
Como estos cambios afectan a la compatibilidad del almacén, la versión del almacén se ha cambiado de 350 a 370. Message Queue 3.7 UR1 es compatible con la conversión automática del almacén persistente de las versiones antiguas 200 y 350 a la versión 370, tanto en el caso de los almacenes basados en JDBC como en los basados en archivos. La primera vez que se inicia imqbrokerd, si la utilidad detecta un almacén más antiguo, lo convertirá al nuevo formato, dejando atrás el almacén antiguo.
Si necesita volver a la versión antigua, puede desinstalar Message Queue 3.7 UR1 y entonces reinstalar la versión que utilizaba anteriormente. Como la copia antigua del almacén se deja intacta, el agente puede ejecutarse con la copia antigua del almacén.
Encontrará requisitos de hardware y software para Message Queue en la Guía de instalación de Sun Java Enterprise System.
Las zonas son una tecnología de contenedor de Solaris que pone a disposición entornos diferentes en una misma máquina y aísla de forma lógica una aplicación de otra. Las zonas le permiten crear entornos de sistema operativo virtuales dentro de una instancia del sistema operativo Solaris. Ejecutar aplicaciones en zonas diferentes le permite ejecutar diferentes instancias o diferentes versiones de una misma aplicación en una misma máquina, a la vez que permite una administración centralizada y el compartir recursos de forma eficiente.
En esta sección encontrará una descripción breve de las zonas y su uso en combinación con Message Queue 3.7 UR1.
Un entorno de zona está compuesto por una zona global y una o más zonas no globales. Cuando se instala Solaris 10 por primera vez en un sistema sólo hay una zona global. Un administrador puede crear otras zonas no globales como Secundarios de una zona global. Cada zona aparece como un sistema independiente ejecutado Solaris. Cada zona tiene su propia dirección IP, su propia configuración de sistema, sus propias instancias de aplicaciones en ejecución y su propia área en el sistema de archivos.
La zona global contiene recursos que pueden ser compartidos con zonas no globales; esto permite la centralización de algunas funciones administrativas. Por ejemplo, los paquetes instalados en la zona global están disponibles (están propagados) para todas las zonas no globales. Esto le permite centralizar la administración del ciclo de vida, como la instalación, la actualización y la desinstalación. A la misma vez, el aislamiento proporcionado por las zonas no globales tiene como resultado una seguridad mejorada, a la vez que permite tener instancias de una misma aplicación con configuraciones diferentes en una misma máquina.
Las zonas no globales son zonas de raíz entera o de poca raíz: la que escoge como entorno para una aplicación depende cómo quiere equilibrar el control administrativo con la optimización de recursos.
Las Zonas de raíz entera contienen una copia de lectura/escritura del sistema de archivos en la zona global. Los paquetes instalados en la zona global se copian automáticamente (junto con la información del registro) en las zonas de raíz entera. Esto maximiza el control administrativo, con el consiguiente aumento del uso de los recursos.
Las Zonas de poca raíz contienen una copia de lectura/escritura de una parte del sistema de archivos en la zona global; los demás sistemas de archivos se montan como sistemas de archivos de sólo lectura. Los paquetes instalados en la zona global están disponibles para las zonas de poca raíz mediante sistemas de archivos de sólo lectura y mediante la sincronización automática de información del registro. Las zonas de poca raíz optimizan la posibilidad de compartir recursos, con las limitaciones de una administración centralizada.
Los componentes que componen el Java Enterprise System dependen de algunos componentes compartidos; esto produce algunas limitaciones a la hora de trabajar con zonas. En un entorno de zonas los componentes compartidos están regidos por las siguientes reglas.
Todos los componentes compartidos dentro de una zona tienen que pertenecer a la misma versión de JES Este requisito tiene tres consecuencias.
Si quiere instalar diferentes versiones de componentes compartidos, cada versión debe residir en una zona diferente.
Dentro de una zona, si un componente compartido se actualiza o se instala una versión posterior, entonces todos los componentes compartidos deben actualizarse.
Cuando instala componentes compartidos en la zona global, debe asegurarse que los componentes compartidos de las zonas no globales se actualicen en caso necesario.
Los componentes compartidos no pueden instalarse en zonas de poca raíz debido al sistema de archivos de lectura/escritura de las zonas de poca raíz. En vez de esto, deben instalarse en la zona global. Los componentes de producto que dependen de componentes compartidos deben instalarse primero en la zona global y después propagarse a zonas no globales.
Estos requisitos afectan a la instalación de Message Queue porque es un producto de componentes del Java Enterprise System y, como tal, está limitado en su uso de zonas.
El producto Message Queue se instala en el directorio /usr debe instalarse o actualizarse antes, por tanto, en la zona global.
Cuando Message Queue está instalado en la zona global, está configurado para propagarse hacia todas las zonas no globales. Tras instalar Message Queue en la zona global, tendrá la misma versión de Message Queue instalada en todas las zonas: si inicia sesión en una zona y ejecuta la orden pkginfo -l SUNWiqu verá que está instalado y que será la misma versión que la de la zona global. Entonces puede ejecutar instancias independientes del agente de Message Queue en cada zona, ya que no comparten los datos de instancia y configuración guardados en los directorios /var y /etc. (La mayoría de componentes de Java Enterprise System no se propagan si están instalados en la zona global.)
Como Message Queue se propaga hacia las zonas no globales, la instancia global queda enlazada para siempre a las instalaciones de las zonas no globales. Por lo tanto cuando quiera desinstalar o actualizar Message Queue en la zona global, afectará a las instancias que se están ejecutando en las zonas no globales. En el ejemplo siguiente mostramos cómo esto puede producir resultados no intencionados.
Message Queue 3.7 UR1 se instala en la zona global. Esto hace que los paquetes Message Queue 3.7 UR1 también se instalen en todas las zonas no globales.
Message Queue 3.7 UR1 se instala en una zona de raíz entera. Después, instala Message Queue 3.6 en la zona de raíz entera.
Ahora tiene versiones diferentes de Message Queue ejecutándose en zonas diferentes, una configuración que le puede resultar útil.
Puede desinstalar Message Queue 3.7 UR1 en la zona global. Esto desinstalará Message Queue de todas las demás zonas, incluyendo la instancia de Message Queue 3.6 en la zona de raíz entera.
Tenga siempre en cuenta el efecto en cascada de la instalación y desinstalación de Message Queue en la zona global.
Los siguientes dos casos prácticos explican cómo se instalan diferentes instancias y diferentes versiones de Message Queue en diferentes zonas.
Si desea instalar Message Queue en una zona de raíz entera de Solaris 10, Solaris 10U1 o Solaris 10U2, deberá actualizar antes Lockhart en la zona global. Para obtener más información, consulte la solución temporal para el error 645030.
Instale la versión que quiera de Message Queue en la zona global.
Estas versiones se propagarán a la zona no global existente. Si crea otras zonas no globales, Message Queue también se propagará a esas zonas. (Puede instalar instancias diferentes en zonas de raíz entera y en zonas de poca raíz, pero si utiliza zonas de poca raíz hará un uso más eficiente del espacio del disco y de los demás recursos).
Si desea que Message Queue se propague a otras zonas no globales, cree esas zonas ahora.
Ejecute una instancia de Message Queue en cada zona no global.
Desinstale Message Queue de la zona global.
Cree zonas de raíz entera y configure cada zona de forma que no compartan el directorio /usr mediante la directiva siguiente a la hora de crear la zona.
remove inherit-pkg-dir dir=/usr
Instale versiones diferentes de Message Queue en cada zona de raíz entera.
Recuerde que instalar o desinstalar Message Queue de la zona global afectará a todas las instancias (y versiones) de Message Queue que se estén ejecutando en zonas de raíz completa.
Errores solucionados en esta versión describe los errores que se han solucionado en Message Queue 3.7 UR1.
Tabla 1–4 Errores solucionados en Message Queue 3.7 UR1
Número de error |
Descripción |
---|---|
6193884 |
Message Queue produce mensajes con caracteres extraños para syslog en configuraciones regionales que requiren caracteres distintos de ASCII para mostrar los mensajes. |
6251450 |
ConcurrentModificationException en connectList durante apagado de clúster. |
6252763 |
java.nio.BufferOverflowException en java.nio.HeapByteBuffer.putLong/Int . |
6260076 |
El primer mensaje publicado tras el inicio es lento cuando utiliza almacenamiento Oracle. |
6260814 |
El procesamiento del Selector en JMSXUserID siempre evalúa como falso. |
6264003 |
El explorador de colas muestra mensajes que son parte de transacciones no confirmadas. |
6271876 |
El control de flujo de la conexión no funciona correctamente cuando se cierra un consumidor que tiene mensajes no consumidos. |
6284769 |
El QueueBrowser tiene problemas de insuficiencia de memoria incluso si se crea y cierra un navegador para cada enumeración. |
6294767 |
El agente de Message Queue tiene que establecer SO_REUSEADDR en los sockets de la red que abra. |
6304043 |
El agente no valida si un clientID no es nulo para suscripciones compartidas no duraderas. |
6307056 |
El registro txn tiene un afecto adverso sobre el rendimiento. |
6320138 |
La API de C de Message Queue no tiene la capacidad de determinar el nombre de una cola de una cabecera de respuesta. |
6320325 |
El agente a veces utiliza JDK 1.4 en vez de JDK 1.5 en Solaris, incluso si ambas versiones se encuentran instaladas. |
6321117 |
El clúster de múltiples agentes lanza la excepción java.lang.NullPointerException . |
6330053 |
El cliente jmsclient lanza la excepción java.lang.NoClassDefFoundError al confirmar una transacción del suscritor. |
6340250 |
Compatibilidad con el tipo MESSAGE en la API de C. |
6351293 |
Añadir compatibilidad con la base de datos Derby. |
6381693 |
El marcador JMSRedelivered queda establecido como falso en el caso de mensajes reenviados a un consumidor remoto tras el reinicio del agente del consumidor. |
6388049 |
No es posible limpiar una transacción XA incompleta. |
6403968 |
Añadir protocolo de control de flujo basado en el consumidor para permitir la gestión de carga en el caso de destinatarios múltiples. |
6403958 |
Se lanza una excepción del agente cuando la cola de mensajes inactiva intenta eliminar el mensaje no persistente más antiguo. |
6406862 |
No es posible supervisar ningún destino después del error del agente Monitor destination errormq.metrics.destination.queue.Name |
6415068 |
La recuperación de la transacción falla en AS 8.1 UR2, adaptador de recursos genérico para cola de mensajes de JMS. |
6421781 |
Obtener compatibilidad con conexión al agente mediante la sintaxis siguiente —b mqtcp://hostName:portNumber/serviceName |
6423696 |
Session.rollback en realidad no deshace los mensajes consumidos tras un error de tipo COMMIT REPLY. |
Este apartado contiene la información más reciente que no se incluye en la documentación principal del producto. En este capítulo se tratan los siguientes temas:
Consulte la Guía de instalación de Sun Java Enterprise System para obtener información sobre las instrucciones de preinstalación y otra información relacionada con la instalación del producto Message Queue (junto con Java Enterprise System) en las plataformas Solaris, Linux y HPUX.
Consulte la Guía de actualización y migración de Sun Java Enterprise System para obtener información sobre las instrucciones de actualización y migración de Message Queue (como parte del sistema Java Enterprise System) en las plataformas Solaris, Linux, HPUX y Windows.
En esta sección se tratan los problemas de compatibilidad de Message Queue 3.7 UR1.
Message Queue utiliza muchas interfaces que pueden ir cambiando a lo largo del tiempo. El Apéndice B, Stability of Message Queue Interfaces de Sun Java System Message Queue 3.7 UR1 Administration Guide clasifica las interfaces según su nivel de estabilidad. Cuanto más estable sea la interfaz, menos probable es que cambie en las siguientes versiones del producto.
La próxima versión importante de Message Queue puede introducir cambios que hagan que sus clientes dejen de ser compatibles con el producto. Esta información se proporciona ahora para permitirle anticipar dichos cambios.
Las ubicaciones de los archivos instalados como parte de Sun Java System Message Queue pueden cambiar. Esto puede hacer que dejen de funcionar algunas de las aplicaciones que dependen de la ubicación actual de archivos de Message Queue.
El agente 3.5 y anteriores puede que dejen de poder funcionar en un clúster con agentes más recientes.
En versiones futuras puede que los clientes Message Queue no puedan utilizar versiones de la JDK anteriores a la 1.3.
En las siguientes secciones se describen las actualizaciones y cambios en la documentación de Message Queue, excepto pequeñas correcciones y añadiduras.
La Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients se ha actualizado para reflejar la adición de la función MQGetDestinationName, el tipo de mensajes MQ_Message y la propiedad de conexión MQ_UPDATE_RELEASE_PROPERTY.
La Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients se ha actualizado para incluir información acerca de la configuración de clientes seguros y cómo éstos deben tratar las excepciones que ocurren durante la reconexión automática.
La Sun Java System Message Queue 3.7 UR1 Administration Guide se ha actualizado para proporcionar información sobre las tablas de base de datos del agente y sobre la configuración del agente para que pueda utilizar puertos reparados.
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.
Sun Java System Message Queue 3.7 UR1 contiene el siguiente grupo de archivos que puede utilizar y distribuir en formato binario:
jms.jar |
libmqcrt.so (UNIX) |
imq.jar |
libmqcrt.so (HPUX) |
imqxm.jar |
mqcrt1.dll (Windows) |
fscontext.jar |
|
Además, puede también redistribuir los archivos LICENSE y COPYRIGHT.
Para obtener funciones de accesibilidad que han aparecido desde la publicación de este software, consulte las evaluaciones de producto de la Sección 508 (se pueden pedir a Sun) para determinar qué versiones son las mejores para utilizar soluciones accesibles. Puede encontrar versiones actualizadas de las aplicaciones en http://sun.com/software/javaenterprisesystem/get.html.
Para obtener información sobre el compromiso de Sun con la accesibilidad, visite http://sun.com/access.
Si experimenta problemas con Sun Java System Message Queue, póngase en contacto con el servicio de atención al cliente de Sun usando uno de estos procedimientos:
Servicios en línea de asistencia técnica de software de Sun en http://www.sun.com/service/sunone/software
Este sitio dispone de vínculos a la base de datos de soluciones, al centro de asistencia en línea y al rastreador de productos, así como a programas de mantenimiento y números de contacto de asistencia técnica.
El número de teléfono del distribuidor asociado al contrato de mantenimiento.
Para que podamos ayudarle de forma óptima en la resolución de problemas, tenga a mano la siguiente información cuando se ponga en contacto con el servicio de asistencia técnica:
Descripción del problema, incluida la situación en la que éste se produce y la forma en que afecta al funcionamiento.
Tipo de equipo, versión del sistema operativo y versión del producto, incluida cualquier revisión del producto y otro software que pudiera influir en el problema.
Pasos detallados de los métodos que haya usado para reproducir el problema.
Cualquier registro de errores o volcados del núcleo.
Existe un foro de Sun Java System Message Queue en la ubicación siguiente:
http://swforum.sun.com/jive/forum.jspa?forumID=24
Apreciamos su participación.
Existe un foro de JMS en los foros de tecnología de Java que puede interesarle.
Deseamos mejorar nuestra documentación y agradecemos sus comentarios y sugerencias.
Para compartir con nosotros sus comentarios, vaya a http://docs.sun.com y haga clic en Enviar comentarios (Send Comments). Se mostrará un formulario en línea en el que deberá indicar el título del documento y el número de referencia. El número de referencia consta de siete o de nueve dígitos y se encuentra en la página que contiene el título de la guía o al principio del documento. Por ejemplo, el título de este libro es Notas de la versión de Sun Java System Message Queue 3.7 UR1, y el nombre de la pieza 820-0484.
Puede encontrar información útil de Sun Java System en las siguientes ubicaciones de Internet:
Documentación de
Servicios profesionales
Servicio y productos de software de
Servicios de asistencia técnica para software
Base de datos de soluciones y asistencia al cliente de
Servicios de formación y asistencia al cliente de Sun
Servicios profesionales y de consultoría de
Información para programadores
Servicios de asistencia para programadores de Sun
Formación sobre el software de