Version 3.7 UR1
Numéro de référence 820-0485
Ces notes de version contiennent des informations importantes, disponibles au moment de le commercialisation de Sun Java™ System Message Queue 3.7 UR1. Vous y trouverez des renseignements sur les nouvelles fonctionnalités, les améliorations, les restrictions et problèmes connus, etc. Lisez ce document avant d'utiliser Message Queue.
Vous trouverez la dernière version de ces notes de version sur le site Web de documentation de Sun Java System Message Queue. Consultez ce site Web avant d'installer et de configurer votre logiciel, puis consultez-le régulièrement pour vous procurer la documentation concernant le produit et les notes de version les plus récentes.
Ces notes de version se composent des sections suivantes:
Des URL de sites tiers, qui renvoient à des informations complémentaires connexes, sont référencés dans ce document.
Sun ne peut être tenu responsable de la disponibilité des sites Web des tiers qui sont mentionnés dans le présent document. Sun ne garantit pas le contenu, la publicité, les produits et autres documents disponibles sur ces sites ou dans ces ressources, ou accessibles par leur intermédiaire, et ne saurait en être tenu pour responsable. Sun ne pourra en aucun cas être tenu responsable, directement ou indirectement, de tous dommages ou pertes, réels ou invoqués, causés par ou liés à l'utilisation des contenus, biens ou services disponibles dans ou par l' intermédiaire de ces sites ou ressources.
Date |
Description des modifications |
---|---|
Août 2006 |
Version initiale de ce document. |
Février 2007 |
Version finale de ce document. |
Sun Java System Message Queue est un service de messagerie complet offrant des fonctionnalités de messagerie asynchrones et fiables conformes à la spécification de messagerie Java (JMS) 1.1. En outre, Message Queue propose des fonctionnalités supplémentaires par rapport à la spécification JMS pour répondre aux besoins des déploiements d'entreprise à grande échelle.
Message Queue 3.7 UR1 est une version de maintenance de Message Queue 3.6. Elle inclut des résolutions de bogues et un certain nombre d'améliorations. Cette section présente les informations suivantes :
Message Queue 3.7 UR1 inclut les nouvelles fonctionnalités suivantes :
Combinaison des fonctionnalités Platform et Enterprise dans une édition
Modifications de l'interface dans les programmes client C et C-API
Ces fonctions sont décrites dans les sous-sections suivantes.
Dans un effort de rationalisation de nos sorties produit, nous avons décidé de combiner les éditions Platform et Enterprise de Sun Java Message Queue. Par exemple pour Message Queue 3.7 UR1, il y aura une seule édition disponible, ce qui permet de supprimer efficacement les limitations de fonctionnalités dans la distribution autonome. Nous espérons que cela facilitera l'utilisation de ce produit.
La combinaison d'éditions permet également une meilleure intégration de Message Queue sur Solaris Enterprise System et fournit un droit généralisé continuel d'utiliser les fonctionnalités d'Enterprise Edition sans support, maintenance ou paiement. Comme pour les versions précédentes, nous continuerons d'offrir plusieurs options de licence pour les services de support et de maintenance. Message Queue sera toujours livré avec Java Enterprise System et Application Platform Suite. Consultez la boutique en ligne à l'adresse suivante : http://www.sun.com ou contactez votre représentant pour trouver l'option la mieux adaptée à vos besoins. Le tableau suivant décrit les étapes de mise à niveau jusqu'à l'édition unique actuelle de Message Queue.
Tableau 1–2 Étapes de mise à niveau pour Message Queue 3.7 UR1
Ancienne édition |
Étape de mise à niveau |
Commentaires |
---|---|---|
Platform Edition |
Sun Java System Message Queue 3.7 UR1 |
Toutes les fonctions (Platform et Enterprise) sont maintenant disponibles pour les clients 3.7 UR1. Des options de support sont disponibles à l'achat de la licence. |
Enterprise Edition |
Sun Java System Message Queue 3.7 UR1 |
Aucune modification de fonction. Une gamme d'options de licence et de support est disponible. |
Contrats de prise en charge de Platform Edition |
Mise à niveau sur le contrat de prise en charge Enterprise Edition |
Les contrats de prise en charge existants pour les versions précédentes de Platform Edition continueront à être renouvelés. Aucun nouveau contrat Platform Edition ne sera proposé pour les versions précédentes de Platform Edition. |
Contrats de prise en charge Enterprise Edition |
Aucune modification |
Les contrats existants continueront à être renouvelés. De nouveaux contrats seront proposés. |
Le tableau suivant décrit les modifications dans les sources de distribution pour divers produits Message Queue.
Tableau 1–3 Modifications des sources de distribution pour les produits Message Queue
Produit |
Ancienne source de distribution |
Nouvelle source de distribution |
Commentaires |
Ouvrez Message Queue |
Sans objet |
Page produits du centre de téléchargement Sun |
Téléchargement autonome. Support des communautés uniquement. Aucun contrat de prise en charge disponible. |
Message Queue Platform Edition |
Centre de téléchargement de Sun via la page produits Message Queue |
N'est plus disponible |
Seule l'édition de Message Queue qui combine les fonctions Platform et Enterprise est disponible. |
Version d'évaluation de Message Queue Enterprise Edition (via Platform Edition) |
Centre de téléchargement de Sun via la page produits Message Queue |
La licence d'évaluation n'est plus obligatoire |
N'est plus obligatoire |
Version d'évaluation de Message Queue Enterprise Edition de 90 jours (via le téléchargement ou le CD de Java Enterprise System) |
Centre de téléchargement Java Enterprise System, antérieur à la version 3 GA (Mars 2006) |
Centre de téléchargement de Solaris Enterprise System |
Licence de Solaris Enterprise System. Les options de support sont disponibles avec licence produit. (Une licence de version d'évaluation de 90 jours n'est plus obligatoire.) |
Acquisition de Message Queue Enterprise Edition via SunStore, CD, licence individuelle, licence Java Enterprise System, licence Suite, délivrés par Java Enterprise System |
Java Enterprise System ou centre de téléchargement Suite, média |
Solaris Enterprise System ou centre de téléchargement Suite, gestion des médias |
Aucune modification |
Nouvelle fonction : MQGetDestinationName()
MQGetDestinationName (const MQDestinationHandle destinationHandle, MQString * destinationName); |
Utilisez cette fonction pour obtenir le nom d'une destination. Le destinationName renvoyé est une copie que le programme appelant doit libérer via la fonction MQFreeString().
Paramètres
Un identificateur (handle) vers la destination dont vous souhaitez connaître le nom.
Paramètre de sortie pour le nom.
Cette fonction s'avère pratique lorsque l'on utilise le modèle Répondre à. Vous pouvez utiliser la fonction MQGetMessageReplyTo pour obtenir un identificateur (handle) vers la destination du message. Vous pouvez utiliser la fonction MQGetDestinationName pour obtenir le nom de la destination. Après avoir obtenu le nom de la destination, vous pouvez effectuer le traitement de vos messages selon le nom.
Nouvelle valeur d'énumération : MQ_MESSAGE
La nouvelle fonction MQMessageType, MQ_MESSAGE, permet aux clients C d'échanger des messages JMS de type Message avec d'autres clients Message Queue (C et Java) :
typedef enum _MQMessageType {MQ_TEXT_MESSAGE = 0, MQ_BYTES_MESSAGE = 1, MQ_MESSAGE = 3, MQ_UNSUPPORTED_MESSAGE = 2} MQMessageType; |
Le type MQ_MESSAGE identifie les messages comportant un en-tête et des propriétés mais pas de corps de message. Utilisez la fonction MQCreateMessage () pour créer un message de ce type.
Une nouvelle propriété de connexion, MQ_UPDATE_RELEASE_PROPERTY, qui spécifie la version de mise à jour de la version installée de Message Queue. Utilisez la fonction MQGetMetaData() pour obtenir des informations sur cette version.
Deux modifications ont été apportées au format du magasin persistant de Message Queue pour améliorer les performances. La première modification concerne le magasin de fichiers et la deuxième le magasin JDBC.
Informations de transaction dans le magasin de fichiers
Le format des informations d'état de transaction stockées dans le magasin persistant de fichiers de Message Queue a été modifié afin de réduire l'E/S disque et d'améliorer les performances des transactions JMS.
Magasin JDBC Oracle
Dans les versions précédentes de Message Queue, le schéma de stockage utilisé avec Oracle utilisait le type de données LONG RAW pour stocker les données de message. Dans Oracle 8, le type LONG RAW a fait place aux types de données BLOB. Message Queue 3.7 UR1 a lui aussi opté pour le type de données BLOB pour améliorer ses performances et ses capacités de prise en charge.
Étant donné que ces modifications ont influé sur la compatibilité du magasin, la version du magasin est passée de 350 à 370. Message Queue 3.7 UR1 prend en charge la conversion automatique du magasin persistant des anciennes versions 200 et 350 vers la version 370 - pour les magasins de fichiers et JDBC. Au premier démarrage de imqbrokerd, si l'utilitaire détecte un ancien magasin, il procédera à la migration du magasin vers le nouveau format, en abandonnant l'ancien magasin.
Si vous avez besoin d'annuler cette mise à niveau, vous pouvez désinstaller Message Queue 3.7 UR1 puis réinstaller l'ancienne version que vous utilisiez. Étant donné que l'ancienne copie du magasin est conservée, le courtier peut l'exécuter.
Les configurations matérielle et logicielle requises par Message Queue sont présentées dans le Sun Java Enterprise System Installation Guide.
Une zone représente une technologie de conteneur Solaris fournissant des environnements séparés sur une machine et isolant de manière logique les applications les unes des autres. Les zones vous permettent de créer des environnements du système d'exploitation virtuels au sein d'une instance sur le système d'exploitation Solaris. L'exécution de plusieurs applications dans différentes zones vous permet d'exécuter différentes instances ou différentes versions de la même application sur la même machine tout en conservant une administration centralisée et un partage efficace des ressources.
Cette section propose une brève description des zones et de leur utilisation avec Message Queue 3.7 UR1.
Une environnement de zones inclut une zone globale et une ou plusieurs zones non globales. Lors de la première installation de Solaris 10 sur un système, une seule zone globale est créée. Un administrateur peut créer d'autres zones non globales comme enfants de la zone globale. Chaque zone apparaît comme un système indépendant exécuté sous Solaris. Chaque zone possède sa propre adresse IP, sa propre configuration système, ses propres instances d'applications exécutées et son propre espace sur le système de fichiers.
La zone globale contient des ressources pouvant être partagées entre les zones non globales, ce qui permet une centralisation de certaines fonctions administratives. Par exemple, les packages installés dans la zone globale sont disponibles (propagés) sur toutes les zones non globales. Cela vous permet de centraliser la gestion du cycle de vie, comme l'installation, la mise à niveau et la désinstallation. De plus, l'isolation fournie par les zones non globales apporte une meilleure sécurité et vous permet d'avoir des instances configurées différemment ou différentes versions de la même application exécutées sur la même machine.
Les zones non globales sont soit des zones « whole root », soit des zones « sparse root » : votre choix de zones comme environnement pour une application dépend de la manière dont vous souhaitez équilibrer le contrôle administratif avec l'optimisation des ressources.
Les zones whole root contiennent une copie lecture/écriture du système de fichiers sur la zone globale. Les packages installés dans la zone globale sont automatiquement copiés (avec leurs informations de registre) vers les zones whole root. Cela permet de maximiser le contrôle administratif, aux dépens des ressources.
Les zones sparse root contiennent une copie lecture/écriture d'une partie du système de fichiers sur la zone globale ; les autres systèmes de fichiers sont installés comme systèmes de fichiers en lecture seule. Les packages installés dans la zone globale sont disponibles sur les zones sparse root par le biais des systèmes de fichiers en lecture seule et de la synchronisation automatique des informations de registre. Les zones sparse root optimisent le partage des ressources aux dépens de l'administration centralisée.
Les composants qui forment Java Enterprise System dépendent de certains composants partagés, ce qui entraîne certaines restrictions dans l'utilisation des zones. Dans un environnement de zones, les composants partagés dépendent des règles suivantes.
Tous les composants partagés dans une zone doivent être de la même version JES. Cette obligation entraîne trois conséquences.
Si vous souhaitez installer différentes versions de composants partagés, chaque version doit être installée dans une zone séparée.
Dans une zone, si un composant partagé est mis à niveau ou qu'une version ultérieure est installée, l'ensemble des composants partagés doit être mis à niveau.
Lorsque vous installez des composants partagés dans une zone globale, vous devez vérifier que les composants partagés dans les zones non globales sont mis à niveau au besoin.
Les composants partagés ne peuvent pas être installés dans des zones sparse root à cause du système de fichiers lecture/écriture de ces zones. Vous devez donc les installer dans une zone globale. Ces composants produit qui dépendent des composants partagés doivent d'abord être installés dans la zone globale puis propagés dans les zones non globales.
Ces conditions affectent l'installation de Message Queue car ce dernier est un produit composant de Java Enterprise System et, en tant que tel, est limité dans son utilisation de zones.
Le produit Message Queue est installé dans le répertoire /usr et doit d'abord être installé ou mis à niveau dans la zone globale.
Lorsque Message Queue est installé dans une zone globale, il est défini de manière à se propager dans toutes les zones non globales. Après avoir installé Message Queue dans la zone globale, la même version de Message Queue sera installée dans toutes les zones : si vous vous connectez à une zone et exécutez la commande pkginfo -l SUNWiqu, vous verrez le logiciel installé, de la même version que celle installée dans la zone globale. Vous pouvez ensuite exécuter les instances indépendantes du courtier Message Queue dans chaque zone puisque celles-ci ne partagent pas l'instance et les données de configuration stockées dans les répertoires /var et /etc. (La plupart des autres composants Java Enterprise System ne sont pas propagés s'ils sont installés dans la zone globale.)
Étant donné que Message Queue est propagé dans les zones non globales, l'instance globale est toujours liée aux installations dans les zones non globales. Ainsi, à chaque désinstallation ou mise à niveau de Message Queue dans la zone globale, les instances exécutées dans les zones non globales seront affectées. L'exemple suivant illustre les éventuels résultats inattendus découlant de cette opération.
Installez Message Queue 3.7 UR1 dans la zone globale. Les packages de Message Queue 3.7 UR1 sont également installés dans toutes les zones non globales.
Désinstallez Message Queue 3.7 UR1 dans une zone whole root. Ensuite, vous installez Message Queue 3.6 dans la zone whole root.
Vous possédez désormais différentes versions de Message Queue exécutées dans différentes zones - installation qui peut s'avérer fort utile.
Désinstallez Message Queue 3.7 UR1 dans la zone globale. Cela désinstallera Message Queue de toutes les autres zones - y compris l'instance Message Queue 3.6 dans la zone whole root.
Notez à chaque fois l'effet en cascade de l'installation et de la désinstallation de Message Queue dans la zone globale.
Les deux scénarios suivants vous expliquent comment installer différentes instances et versions de Message Queue dans différentes zones.
Si vous voulez installer Message Queue dans une zone whole root sur Solaris 10, Solaris 10U1, ou Solaris 10U2, vous devez d'abord mettre à niveau Lockhart dans la zone globale. Consultez la solution pour le bogue 645030 pour plus d'informations.
Installez la version souhaitée de Message Queue dans la zone globale.
Ces versions seront propagées dans toute zone non globale existante. Si vous créez des zones non globales supplémentaires, Message Queue sera également propagé dans ces zones. (Vous pouvez installer différentes instances dans les zones whole root ainsi que dans les zones sparse root, cependant, l'utilisation de zones sparse root permet une utilisation plus efficace de l'espace disque et des autres ressources).
Si vous voulez que Message Queue soit propagé dans toutes les autres zones non globales, créez ces zones maintenant.
Exécutez une instance de Message Queue dans chaque zone non globale.
Désinstallez Message Queue de la zone globale.
Créez des zones whole root et configurez chaque zone de manière à ne pas partager le répertoire /usr à l'aide de la directive suivante lors de la création de la zone.
remove inherit-pkg-dir dir=/usr
Installez différentes versions de Message Queue dans chaque zone whole root.
Notez que l'installation et la désinstallation de Message Queue dans la zone globale affectera toutes les instances (et versions) de Message Queue exécutées dans les zones whole root.
Les Bogues résolus dans la présente version décrivent l'ensemble des bugs résolus dans Message Queue 3.7 UR1.
Tableau 1–4 Bogues résolus dans Message Queue 3.7 UR1
Référence |
Description |
---|---|
6193884 |
Message Queue émet un message de mémoire inutilisable au syslog dans les locales nécessitant des caractères non-ASCII pour afficher des messages. |
6251450 |
ConcurrentModificationException sur connectList durant la fermeture du cluster. |
6252763 |
java.nio.BufferOverflowException dans java.nio.HeapByteBuffer.putLong/Int . |
6260076 |
Le premier message publié après le démarrage est lent avec le stockage Oracle. |
6260814 |
Le sélecteur traitant JMSXUserID donne une évualuation toujours false. |
6264003 |
Le navigateur de file d'attente affiche des messages qui font partie des transactions qui n'ont pas été validées. |
6271876 |
Le contrôle de flux de connexions ne fonctionne pas correctement lors de la fermeture d'un consommateur avec des messages non consommés. |
6284769 |
Le navigateur de file d'attente a des fuites de mémoire même lorsqu'un nouveau navigateur est créé et fermé pour chaque énumération. |
6294767 |
Le courtier de Message Queue doit définir SO_REUSEADDR sur les sockets de réseau qu'il ouvre. |
6304043 |
Le courtier ne valide pas que clientID n'est pas null pour les souscriptions partagées non durables. |
6307056 |
Le journal txn est un goulot d'étranglement des performances. |
6320138 |
Le C-API de Message Queue manque de capacités pour déterminer le nom d'une file d'attente à partir d'un en-tête Répondre à. |
6320325 |
Le courtier sélectionne parfois JDK 1.4 avant JDK 1.5 sur Solaris même lorsque les deux versions sont installées. |
6321117 |
L'initialisation de cluster multi-courtier émet une java.lang.NullPointerException . |
6330053 |
Le programme client jms émet une java.lang.NoClassDefFoundError lors de l'association d'une transaction à partir de l'abonné. |
6340250 |
Prendre en charge le type MESSAGE dans C-API. |
6351293 |
Ajouter une prise en charge pour la base de données Derby. |
6381693 |
L'indicateur JMSRedelivered est défini sur false pour les messages renvoyés à un consommateur distant après le redémarrage du courtier du consommateur. |
6388049 |
Impossible de nettoyer une transaction XA incomplète. |
6403968 |
Ajouter un protocole de contrôle de flux des consommateurs pour autoriser l'équilibrage de charge pour des destinataires multiples. |
6403958 |
Une exception de courtier est détectée lorsque la file d'attente des messages bloqués essaie de supprimer le message non persistant le plus ancien. |
6406862 |
Impossible de contrôler les destinations après l'erreur du courtier Monitor destination errormq.metrics.destination.queue.Name |
6415068 |
Échec de la récupération de transaction dans AS 8.1 UR2 avec l'adaptateur de ressources génériques pour MS Message Queue. |
6421781 |
Prendre en charge les connexions au courtier à l'aide de la syntaxe suivante : —b mqtcp://nomHote:numeroDePort/nomDeService |
6423696 |
Session.rollback n'annule pas réellement les messages consommés après l'erreur COMMIT REPLY. |
Cette section comprend les dernières informations qui n' ont pu être incluses dans la documentation de base des produits. Cette section traite les rubriques suivantes:
Reportez-vous au Sun Java Enterprise System Installation Guide pour obtenir des informations sur les instructions de pré-installation et toutes autres informations pertinentes sur l'installation du produit Message Queue (regroupé avec Java Enterprise System) sur les plates-formes Solaris, Linux et HPUX.
Reportez-vous au Sun Java Enterprise System Upgrade and Migration Guide pour obtenir des informations sur les instructions de mise à niveau et de migration pertinentes pour la mise à niveau de Message Queue (partie de Java Enterprise System) sur les plates-formes Solaris, Linux, HPUX et Windows.
Cette section présente les problèmes de compatibilité dans Message Queue 3.7 UR1.
Message Queue utilise de nombreuses interfaces qui peuvent changer dans le temps. L'Annexe B, Stability of Message Queue Interfaces du Sun Java System Message Queue 3.7 UR1 Administration Guide propose un classement des interfaces selon leur stabilité. Plus l'interface est stable, plus il y a de chances pour qu'elle ne soit pas modifiée dans les versions à venir d'un produit.
La prochaine version principale de Message Queue peut présenter des modifications affectant la compatibilité des clients. Cette information vous est fournie dès maintenant de sorte que vous puissiez vous y préparer.
L'emplacement des fichiers individuels installés pour Sun Java System Message Queue peut changer. Cette modification risque de briser les applications existantes qui dépendent de l'emplacement actuel de certains fichiers Message Queue.
Il est possible que les courtiers 3.5 et antérieurs ne puissent plus fonctionner dans un cluster avec de nouveaux courtiers.
Dans les versions de Message Queue à venir, les clients ne pourront peut-être plus utiliser les versions JDK antérieures à la version 1.3.
Les sections suivantes décrivent les mises à jour et modifications apportées à la documentation de Message Queue, autres que les corrections ou ajouts mineurs.
Le Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients a été mis à jour pour rendre compte de l'ajout de la fonction MQGetDestinationName, du type de message MQ_Message et de la propriété de connexion MQ_UPDATE_RELEASE_PROPERTY.
Le Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients a été mis à jour pour inclure les informations relatives à l'installation de clients sécurisés et au moyen de gérer, pour les clients, les exceptions se produisant lors d'une reconnexion automatique.
Le Sun Java System Message Queue 3.7 UR1 Administration Guide a été mis à jour pour fournir des informations sur les tables de base de données de courtier et sur la configuration du courtier pour l'utilisation de ports fixes.
Cette section contient une liste des problèmes connus concernant Message Queue 3.7 UR1. Elle aborde plus particulièrement les questions suivantes :
Pour obtenir une liste des bogues actuels, leur état et leurs solutions, les membres de Java Developer Connection™ peuvent consulter la page Bug Parade du site Web de Java Developer Connection. Avant de signaler tout nouveau bogue, merci de consulter cette page. Bien que tous les bogues de Message Queue n'y soient pas répertoriés, il est préférable ce consulter cette page pour savoir si un problème a déjà été signalé.
http://bugs.sun.com/bugdatabase/index.jsp
L'adhésion à Java Developer Connection est gratuite, mais elle requiert une inscription. Pour savoir comment devenir membre de Java Developer Connection, consultez la page Web « For Developers » de Sun .
Pour signaler un nouveau bogue ou soumettre une demande d'amélioration, envoyez un e-mail à l'adresse suivante : imq-feedback@sun.com .
Un service de connexion utilisant SSL ne peut actuellement prendre en charge que des certificats de serveur autosignés, c'est-à-dire, en mode hôte de confiance.
Lorsqu'un client JMS utilisant le transport HTTP met brutalement fin à la connexion(en utilisant, par exemple, Ctrl-C), le courtier met environ une minute avant de libérer la connexion client et toutes les ressources associées.
Si une autre instance du client est démarrée dans la minute d'attente en essayant d'utiliser le même ID client, la même souscription durable ou file d'attente, il est possible que celle-ci reçoive une exception « L'ID client est déjà utilisé ». Il ne s' agit pas d'un vrai problème, mais d'un effet secondaire du processus de fin décrit précédemment. Si un client est démarré après un délai d' environ une minute, tout doit fonctionner correctement.
Dans Message Queue 3.7 UR1, la configuration de courtier modèle pour utiliser un serveur LDAP comme référentiel utilisateur est proposée dans la zone de commentaires du fichier config.properties, alors que le modèle de référentiel utilisateur LDAP du fichier default.properties a été supprimé des commentaires.
Si vous dépendiez auparavant des valeurs de propriétés de la configuration du référentiel utilisateur LDAP donné en exemple dans le fichier default.properties, votre client d'application JMS recevra une exception de sécurité lorsqu'il tentera de créer une connexion JMS. Cela se produira après la mise à niveau de Message Queue 3.7 UR1.
Lorsque le client JMS tente d'établir une connexion avec le courtier de Message Queue 3.7 UR1, une erreur s'affiche dans le journal du courtier et le client JMS reçoit l'exception suivante :
SecurityException. 20/Aug/2004:11:16:41 PDT] ERROR [B4064]: propriété LDAP du référentiel LDAP .uidattr non définie pour le type d'authentification basic:com.sun.messaging.jmq.auth.LoginException: [B4064]: propriété LDAP du référentiel LDAP .uidattr non définie pour le type d'authentification basic
Solution : définissez la propriété du courtier imq.user_repository.ldap.uidattr en suivant les instructions du Chapitre 7, Managing Security du Sun Java System Message Queue 3.7 UR1 Administration Guide.
Les éléments suivants décrivent l'utilisation des clusters de courtier.
Seuls les clusters de courtier entièrement connectés sont pris en charge par cette version. Autrement dit, tous les courtiers d'un cluster doivent communiquer directement avec tous les autres. Si vous essayez de connecter les courtiers à l'aide de l'argument de ligne de commande imqbrokerd -cluster, assurez-vous que tous les courtiers du cluster sont bien inclus.
Un client connecté à un courtier appartenant à un cluster ne peut actuellement pas utiliser QueueBrowser pour parcourir les files d'attente situées sur les courtiers distants de ce cluster. Il ne peut que parcourir le contenu des files d'attente situées sur le courtier auquel il est directement connecté. Il peut toutefois continuer d'envoyer des messages vers les files d'attente ou de consommer les messages provenant des files d'attente sur n'importe quel courtier du cluster, la limitation ne s'appliquant en effet qu'à la navigation.
Si aucun courtier ne fait office de courtier principal dans un cluster, les informations permanentes enregistrées par un courtier ayant été ajouté au cluster ne sont pas communiquées aux autres courtiers du cluster.
La connexion est abandonnée pour un courtier dans un cluster (ID de bogue 6377527).
Une des explications possibles est que l'adresse du courtier (dont la connexion a été abandonnée) correspond à l'adresse IP du loopback (127.0.0.1).
Solution : assurez-vous que l'adresse du courtier ne correspond pas à l'adresse IP du loopback.
Dans un cluster de courtier, un courtier mettra en file d'attente les messages destinés à une connexion distante non démarrée (ID de bogue 4951010).
Solution : le consommateur recevra les messages dès que la connexion est initiée. Les messages seront renvoyés à un autre consommateur si la connexion du consommateur est fermée.
Les problèmes suivants se rapportent à l'administration et la configuration de Message Queue.
Les utilitaires imqadmin et imqobjmgr émettent une erreur lorsque CLASSPATH contient des guillemets sur des machines Windows (ID de bogue 5060769)
Solution : vous pouvez ignorer ce message d'erreur, le courtier traite correctement le problème en notifiant toute erreur aux consommateurs. Cette erreur n'affecte pas la fiabilité du système.
L'option -javahome dans tous les scripts Solaris et Windows ne fonctionne pas si la valeur fournie contient un espace (ID de bogue 4683029).
L'option javahome est utilisée par les commandes et utilitaires de Message Queue pour spécifier une autre exécution Java 2 compatible à utiliser. Cependant, le nom de chemin vers l'exécution Java alternative ne doit pas contenir d'espace. Voici quelques exemples de chemins contenant des espaces :
sous Windows : C:/jdk 1.4
Solaris : /work/java 1.4
Solution : installez le programme d'exécution Java à un emplacement ou un chemin ne contenant pas d'espace.
L'attribut imqQueueBrowserMaxMessagesPerRetrieve spécifie le nombre maximal de messages que le programme client récupère en une fois lorsqu'il parcourt le contenu d'une destination en file d'attente. Notez que l'application cliente obtient toujours tous les messages de la file d'attente. Ainsi, l'attribut imqQueueBrowserMaxMessagesPerRetrieve affecte le mode de segmentation des messages en file d'attente, qui doivent être envoyés vers le programme client (quelques blocs volumineux ou plus de blocs plus petits), mais n'affecte pas le nombre total de messages parcourus. Modifier la valeur de cet attribut pourrait avoir un impact sur les performances mais aucun effet sur le volume de données traité par l'application cliente (ID de bogue 6387631).
Les problèmes suivants concernent le courtier de Message Queue.
La commande imqbrokerd —license affiche des informations obsolètes ou dupliquées. Elle affiche des informations relatives à la licence d'essai, bien que ce type de licence ne soit plus pris en charge (ID de bogue 6489711) ainsi que des informations dupliquées concernant la licence unl (ID de bogue 6441015).
Solution : il s'agit de problèmes esthétiques qui ne requièrent pas de solution.
Le courtier ne respecte pas la limite par défaut de 1000 messages pour la file d'attente des messages bloqués ; il continue d'ajouter des messages dans la file d'attente des messages bloqués jusqu'à ce qu'il n'y ait plus assez de mémoire. (ID de bogue 6502744)
Solution : réinitialisez la limite de la file d'attente des messages bloqués sur 1001 ou toute valeur supérieure à 1000.
La createQueueConnection HTTPS émet occasionnellement une exception sur Windows 2000. (ID de bogue 4953348).
Solution : réessayez la connexion.
Avec Ctrl-C pour fermer le courtier, les transactions peuvent être nettoyées après fermeture du magasin (ID de bogue 4934446).
Le courtier peut afficher des erreurs pour la raison suivante : « Tentative d'accès à la méthode de stockage après fermeture du magasin. » si le courtier est fermé alors que les messages ou les transactions sont en cours de traitement.
Solution : vous pouvez ignorer ce message d'erreur, le courtier traite correctement le problème en notifiant toute erreur aux consommateurs. Cette erreur n'affecte pas la fiabilité du système.
Le courtier devient inaccessible lorsque le magasin persistant ouvre trop de destinations. (ID de bogue 4953354).
Solution : ce problème est dû au fait que le courtier atteint la limite du descripteur de fichier ouvert définie pour le système. Sur Solaris et Linux, utilisez la commande ulimit pour augmenter cette limite.
Les consommateurs sont orphelins lorsqu'une destination est supprimée (ID de bogue 5060787).
Les consommateurs actifs sont orphelins lorsqu'une destination est supprimée. Une fois orphelins, ils ne peuvent plus recevoir de messages (même si la destination est recréée).
Solution : il n'existe aucune solution pour ce problème.
La sélection de messages à l'aide de JMSMessageID ne fonctionne pas (ID de bogue 6196233).
Solution : modifiez le sélecteur de l'expression
JMSMessageID = "ID:message-id-string"
à l'expression
JMSMessageID IN (’ID:message-id-string’, ’message-id-string’)
Le navigateur de file d'attente A de Message Queue affiche des messages non dédiés (ID de bogue 6264003).
Lors de la navigation dans le contenu d'une file d'attente, les messages produits dans une transaction mais non encore dédiés apparaissent dans l'énumération du navigateur de file d'attente.
Solution : il n'existe aucune solution pour ce problème.
Des messages peuvent devenir indisponibles si le courtier s'arrête brutalement pendant une validation (ID de bogue 6467874).
Rarement, lors d'un arrêt brutal, les messages dans une transaction peuvent devenir indisponibles pour les clients. Spécifiquement, une petite fenêtre apparaît pendant le processus de validation et peut provoquer un blocage du message dans le magasin persistant. Lorsque cela se produit, le message suivant s'affiche au démarrage du courtier après un arrêt brutal.
[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.
Solution : il n'existe aucune solution pour ce problème.
Il n'existe pas de produit autonome pour la version Bêta de Message Queue 3.7 UR1. Pour cette version, vous devez donc installer Message Queue à l'aide du programme d'installation de Java Enterprise System. Reportez-vous au Sun Java System Installation Guide pour obtenir les instructions correspondantes.
Sun Java System Message Queue 3.7 UR1 comporte l'ensemble de fichiers suivant que vous pouvez utiliser et distribuer en format binaire :
jms.jar |
libmqcrt.so (UNIX) |
imq.jar |
libmqcrt.so (HPUX) |
imqxm.jar |
mqcrt1.dll (Windows) |
fscontext.jar |
|
Vous pouvez également redistribuer les fichiers LICENSE et COPYRIGHT.
Pour obtenir la liste des fonctions d'accessibilité mises à disposition depuis la publication de ce média, consultez les évaluations de produit de la Section 508, disponibles sur demande auprès de Sun, afin de déterminer les versions les mieux adaptées au déploiement des solutions accessibles. Les mises à jour des applications sont disponibles à l'adresse http://sun.com/software/javaenterprisesystem/get.html.
Pour plus d'informations sur l'engagement de Sun en matière d'accessibilité, consultez le site suivant : http://sun.com/access.
Si vous rencontrez des problèmes avec Sun Java System Message Queue, contactez le service clientèle Sun de l'une des manières suivantes :
Services de support logiciel en ligne : http://www.sun.com/service/sunone/software.
Ce site contient des liens vers la base de savoir, le centre d'assistance en ligne et ProductTracker, ainsi que vers des programmes de maintenance et des coordonnées pour l'assistance.
Le numéro de téléphone indiqué sur votre contrat de maintenance.
Afin de vous aider au mieux à résoudre vos problèmes, nous vous suggérons de réunir les informations suivantes lorsque vous contactez le support technique de Sun :
Description du problème, notamment les conditions dans lesquelles le problème se produit et sa répercussion sur l'opération effectuée.
Le type de machine, les versions du système d'exploitation et du produit, y compris les patchs et autres logiciels pouvant avoir un lien avec le problème.
Étapes détaillées des méthodes utilisées pour reproduire le problème.
Journaux des erreurs ou core dumps éventuels.
Accédez au forum de Sun Java System Message Queue à partir de l'adresse suivante :
http://swforum.sun.com/jive/forum.jspa?forumID=24
Votre participation est la bienvenue.
Il existe un forum JMS au sein des forums sur la technologie Java qui peut être utile.
Dans le souci d'améliorer notre documentation, nous vous invitons à nous faire parvenir vos commentaires et vos suggestions.
Pour nous faire part de vos commentaires, rendez-vous sur le site http://docs.sun.com, puis cliquez sur Envoyer des commentaires. Dans le formulaire en ligne, indiquez le titre et le numéro du document. Le numéro de référence est constitué de sept ou neuf chiffres et figure sur la page de titre du manuel ou en haut du document. Par exemple, le titre de ce document est Notes de version de Sun Java System Message Queue 3.7 UR1, et son numéro de référence est 820-0485.
Vous pouvez obtenir des informations utiles concernant Sun Java System sur les sites Internet suivants :
Documentation
Services professionnels
Produits et services logiciels
Services de support logiciel
Base de connaissances et support
Services de formation et de support Sun
Services professionnels et de conseil
Informations pour les développeurs
Services de support pour développeurs Sun
Formation sur les logiciels