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, de leur état et de leurs solutions, les membres de Java Developer ConnectionSM peuvent consulter la page Big Parade du site Web de Java Developer Connection à l'adresse suivante : http://bugs.sun.com/bugdatabase/index.jsp. 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 de consulter cette page pour savoir si un problème a déjà été signalé.
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 ».
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 Control-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 pendant la minute d'attente et essaye d'utiliser le même ID client, abonnement durable ou la même file d'attente, une exception « L'ID client est déjà utilisé » peut se produire. Cette exception est simplement l'effet secondaire du processus d'arrêt décrit ci-dessus. Si un client est démarré après un délai d'environ une minute, il ne doit y avoir aucun problème.
Dans Message Queue 3.7 UR1 , la configuration du courtier donnée en exemple pour utiliser un serveur LDAP comme référentiel utilisateur est fournie dans la zone de commentaires du fichier config.properties . L'exemple de référentiel utilisateur LDAP du fichier default.properties a été commenté.
Si vous dépendiez auparavant d'une valeur de propriété des propriétés du référentiel utiliateur LDAP donné en exemple dans le fichier default.properties, après la mise à niveau vers Message Queue 3.7 UR1, votre client d'application JMS recevra une exception de sécurité lorsqu'il tentera de créer une connexion JMS.
Lorsque votre 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 votre 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.
Cette version ne prend en charge que les clusters du courtier entièrement connectés. Par conséquent, tous les courtiers d'un cluster doivent communiquer directement avec les autres courtiers de ce cluster. Si vous connectez des 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 peut seulement parcourir le contenu des files d'attente situées sur le courtier auquel il est directement connecté. Il peut toujours envoyer des messages vers les files d'attente ou consommer des messages à partir des files d'attente sur n'importe quel courtier du cluster. La restriction ne s'applique qu'à la navigation.
Si aucun courtier principal n'est utilisé dans un cluster de courtiers, les informations permanentes stockées par un courtier ajouté au cluster ne sont pas communiquées aux autres courtiers du cluster.
Dans un cluster du 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 lancé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 le CLASSPATH contient des guillemets sur les machines Windows (ID de bogue 5060769)
Solution : vous pouvez ignorer ce message d'erreur. Le courtier gère correctement la notification d'erreurs pour le consommateur. 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 compatible Java 2 à utiliser. Cependant, le nom de chemin vers l'autre exécution Java ne doit pas contenir d'espaces. Par exemple :
sous Windows : C:/jdk 1.4
Solaris : /work/java 1.4
Solution : installez le programme d'exécution Java dans un emplacement ou un chemin qui ne contient pas d'espaces.
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. L'application client obtient toujours les messages de la file d'attente. Par conséquent, l'attribut imqQueueBrowserMaxMessagesPerRetrieve affecte la façon dont les messages en file d'attente sont divisés pour être envoyés au programme client : soit en plusieurs petits morceaux soit en quelques gros blocs. Cet attribut n'affecte pas le total des messages parcourus. La modification de la valeur de cet attribut peut affecter les performances mais n'entraînera pas de modification du volume de données de l'application client (ID de bogue 6387631).
Les problèmes suivants concernent le courtier de Message Queue.
La createQueueConnection HTTPS émet occasionnellement une exception sur Windows 2000. (ID de bogue 4953348).
Solution : relancez la connexion.
Lors de l'utilisation de Control-C pour fermer un courtier, les transactions peuvent être nettoyées après la fermeture du magasin (ID de bogue 4934446).
Le courtier peut afficher le message d'erreur « Accès à la méthode de stockage après fermeture du magasin » lors du traitement de messages ou de transactions.
Solution : vous pouvez ignorer ce message d'erreur. Le courtier gère correctement la notification d'erreurs pour le consommateur. Cette erreur n'affecte pas la fiabilité du système.
Les consommateurs sont orphelins lorsqu'une destination est détruite (ID de bogue 5060787).
Les consommateurs actifs sont orphelins lorsqu'une destination est détruite. Une fois orphelins, ils ne peuvent plus recevoir de messages même si la destination est recréée.
Solution : aucune.
La sélection de message à l'aide de JMSMessageID ne fonctionne pas (ID de bogue 6196233).
Modifiez le sélecteur de l'expression
JMSMessageID = "ID:message-id-string"
vers l'expression
JMSMessageID IN (’ID:message-id-string’, ’message-id-string’)
Message Queue 3.7 UR1 n'inclut pas de produit autonome. Pour cette version, vous devez installer Message Queue à l'aide du programme d'installation de Java Enterprise System. Consultez le Sun Java System Installation Guide pour obtenir des instructions.
L'option Index du menu Message Queue indique des emplacements incorrects pour l'URL de documentation produit et le fichier Read Me First (ID de bogue 6515574)
Description : l'ancienne documentation s'affiche lorsque l'utilisateur sélectionne une documentation à partir de l'entrée Message Queue dans le menu Démarrer de Windows.
Solution : accédez à la documentation depuis l'adresse suivante : http://docs.sun.com/app/docs/coll/1307.2http://docs.sun.com/app/docs/coll/1307.2.
Le panneau de configuration Ajout/Suppression de programmes répertorie Sun Java Enterprise System au lieu de Message Queue
Le fichiere Config_MQ.txt contient des informations incorrectes. Les éléments suivants corrigent certaines erreurs :
Les options Configurer automatiquement et Configurer manuellement ne sont pas disponibles avec Message Queue, et il n'existe aucune option pour définir le mot de passe de l'administrateur
L'option Configurer automatiquement installe et démarre automatiquement le service Windows courtier Message Queue.
L'option Configure Manually vous permet d'installer le courtier Message Queue sans le démarrer comme un service Windows.
Les messages d'erreur qui s'affichent lors d'une tentative d'installation sur un disque sans espace disque suffisant sont ambigus. Par exemple, « Erreur : -1603 Erreur fatale lors de l'installation.»
mq/bin n'a pas été ajouté au chemin pendant l'installation (ID de bogue 6515557)
Description : impossible de trouver les exécutables Message Queue à partir d'une invite de commande Windows. Par exemple, le fait de taper imqcmddéclenche l'erreur suivante : 'imqcmd' n'est pas reconnu comme une commande interne ou externe, un programme utilisable ou un fichier de traitement par lots.
Solution : modifiez la variable PATH pour inclure install-MQ-directory/bin ou exécutez les applications à partir du répertoire install-MQ-directory/bin.
L'installation de Message Queue ne prend pas en charge l'installation automatique des composants partagés.
Solution : utilisez JDK version 1.6.0 (composants SOAP dans 1.6.0) ou installez le serveur d'application sous Windows qui installera les composants partagés SOAP.