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.