Notes de version de Sun GlassFish Message Queue 4.4 Update 1

Bogues résolus dans Message Queue 4.4 Mise à jour 1 et ses versions récentes

Message Queue 4.4 Mise à jour 1 inclut de nouveaux correctifs de bogues et intègre également les bogues qui ont été résolus dans les versions précédentes de la famille Message Queue 4.x.

Les sections suivantes dressent par version la liste des bogues résolus :

Bogues résolus dans Message Queue 4.4 Mise à jour 1

Le tableau suivant décrit les bogues résolus dans Message Queue. Certains de ces problèmes sont marqués "(OpenMQ)", ce qui indique que le problème a été résolu dans le projet open source Open Message Queue sur lequel Sun GlassFish Message Queue est basé.

Tableau 1–7 Bogues résolus dans Message Queue 4.4 Mise à jour 1

Bogue 

Description 

6590909 

La MDB de mode DIRECT ne se connecte pas au courtier distant lorsque la liste d'adresses est remplacée. 

6616704 

La mémoire du courtier s'accroît lorsque de nombreux consommateurs sont créés au cours d'une session. 

6745761 

XAResource.isSameRM() doit renvoyer true lorsque deux connexions sont utilisées dans le même TX XA (avec JMSJCA). 

6745763 

XAResource.isSameRM() doit renvoyer true lorsque deux connexions sont utilisées dans le même TX XA (en mode JMSRA DIRECT). 

6745768 

XAResource.isSameRM() doit renvoyer true lorsque deux connexions sont utilisées dans le même TX XA (JMSRA LOCAL/REMOTE). 

6760450 

La mémoire de messages est corrompue si la machine est redémarrée sans arrêter l'instance MQ (GF). 

6766241 

UMS : l'exemple AJAX SendMsg.html utilise /ums comme racine de contexte par défaut. Il doit utiliser /imqums. 

6766852 

DirectXAResource traduit le statut CONFLICT du courtier par "TxID is already in use". 

6799428 

Les messages non persistants/non durables déposés dans DMQ ne peuvent pas être consommés mais peuvent être parcourus. 

6799428 

Les messages non persistants/non durables déposés dans DMQ ne peuvent pas être consommés mais peuvent être parcourus. 

6809353 

HA openmq 4.3 avec posgtresql (8.1) ne fonctionne pas (imqbrokerd ne peut pas démarrer). 

6809750 

Le pool de connexions (de JMSRA) pour la connexion IDClient ne fonctionne pas. 

6812198 

Une exception Classcast est générée lors d'un contrôle réalisé à l'aide de métriques de rubriques MQ. 

6832000 

La connexion JDBC reapExcessConnection MQ s'exécute avec une rotation de processeur élevée. 

6833109 

L'exemple d'application JMX MQClusterMonitor génère une exception sur AIX avec JDK6. 

6835420 

La valeur par défaut de NoGCDefault n'est pas calculée correctement. Cela peut causer une opération GC excessive lorsque la mémoire est insuffisante. 

6852018 

Le message d'erreur "Impossible d'ajouter un consommateur {0} durable. Aucun IDClient n'a été défini lors de la connexion." est trompeur  

6856991 

Une exception NullPointerException générée après le redémarrage du courtier annule une transaction PREPARED de consommateur durable. 

6874125 

AVERTISSEMENT : MQJMSRA_DC2001: connectionId=555670328604044289:_destroy(): appelé sur une connexion... 

6878945 

RFE : JMSBridge : autorise la spécification d'un nom d'utilisateur/mot de passe pour créer une connexion à partir de la fabrique de connexions. 

6881493 

Les destinations temporaires d'administration ne doivent pas être stockées pour le courtier HA. 

6881753 

RFE JMSBridge : autorise le balisage de chaque message avec le nom jmsbridge avant de procéder au transfert vers la cible. 

6884673 

Le courtier MQ 4.4 ne parvient pas à établir de connexion de cluster avec le courtier MQ 3.7/3.6. 

6886390 

Les messages Persist/Txn publiés et transférés à DMQ peuvent provoquer des erreurs "mq.sys.dmq not found" lors de leur consommation à partir de DMQ. 

6886515 

Une exception AccessControlException est générée lors de l'utilisation de JMX pour supprimer une destination dans un courtier intégré. 

6890628 

La définition de la propriété de courtier "imq.autocreate.destination.isLocalOnly=true" n'a aucun effet. 

6891615 

Le sélecteur ne fonctionne pas toujours lors de l'exécution du courtier 4.3 dans glassfish. 

6891624 

Le nombre de messages 'Remote' peut dépasser celui des 'Count' dans 'imqcmd list dst'. 

6891629 

Besoin d'un message convivial lorsqu'une exception arithmétique se produit dans le sélecteur. 

6891717 

Si ifimq.transaction.autorollback=true, l'accusé de réception d'une transaction PREPARED qui doit être automatiquement annulé n'a pas été supprimé, ce qui entraîne l'exception TransactionAckExistEx. 

6891802 

Le message "[B4061]:Can not use Transaction ID..currently in use" s'affiche au redémarrage du courtier après réception de l'accusé d'une transaction distante de reprise. 

6892512 

Fuite de mémoire : les destinations temporaires ne sont pas supprimées de la connexion lorsque tempDest.delete() est appelé. 

6895040 

Si le courtier maître possède une destination temporaire, le courtier esclave ne parvient pas à récupérer uidprefix au démarrage après expiration du délai de verrouillage d'uidprefix. 

6896230 

Il est possible qu'un nouveau consommateur créé dans le courtier maître pendant qu'il redémarre après la synchronisation avec les esclaves, ne se propage pas partout. 

6896764 

La méthode equals de TransactionAcknowledgement est incorrecte. 

6898355 

Le verrouillage de la reprise est redéfinie lors de l'initalisation du gestionnaire de clusters au redémarrage du courtier sans attendre la fin de la reprise. 

6901405 

RFE : consigne les informations sur le fournisseur JDBC et sur les propriétés du fournisseur si spécifié. 

16 (OpenMQ) 

Le sélecteur ne fonctionne pas toujours lors de l'exécution du courtier 4.3 dans glassfish. 

17 (OpenMQ) 

HA openmq 4.3 avec posgtresql (8.1) ne fonctionne pas (imqbrokerd ne peut pas démarrer). 

22 (OpenMQ) 

Le programme d'installation fait référence à un fichier binaire qui n'existe pas et par conséquent échoue. 

25 (OpenMQ) 

Fuite de mémoire lors de la création de TemporaryTopic. 

29 (OpenMQ) 

Isolement du courtier 

30 (OpenMQ) 

Le nombre de messages 'Remote' peut dépasser celui des 'Count' dans 'imqcmd list dst'. 

31 (OpenMQ) 

Besoin d'un message convivial lorsqu'une exception arithmétique se produit dans le sélecteur. 

32 (OpenMQ) 

Correction pour dépassements Int-> Long 

33 (OpenMQ) 

Programme d'installation OpenMQ : une erreur "Invalid SwiXML Descriptor" se produit lorsqu'il est exécuté dans un environnement linguistique japonais. 

Bogues résolus dans Message Queue 4.4

Le tableau suivant décrit les bogues résolus dans Message Queue 4.4.

Tableau 1–8 Bogues résolus dans Message Queue 4.4

Bogue 

Description 

6242247 

Le cluster MQ avec courtier maître démarre et se bloque si les deux courtiers sur une même machine possèdent le même nom  

6760937 

Le courtier ne se reconnecte pas à la base de données en cas de redémarrage  

6763252 

Le courtier doit consigner un message plus clair que l'exception NPE lorsque le système accuse réception d'un message qui a été expiré/supprimé. 

6765410 

Le courtier maître envoie les intérêts locaux 2 fois, ce qui entraîne l'exception esclave Abonnement durable déjà actif 

6796506 

Le message PREPARED distant n'est pas renvoyé après restauration en cas de délai d'attente lors de la réception de la réponse PREPARED distante 

6807708 

TemporaryDestination.delete échoue si le courtier maître n'est pas en cours d'exécution. 

6812037 

RFE : fait passer MQ_CALLBACK_RUNTIME_ERROR à afterMessageDelivery si MQMessageListenerFunc renvoie une erreur. 

6812755 

Le message de journal de niveau FINE doit être WARNING si les appels de before/afterMessageDelivery renvoient une erreur. 

6816023 

L'exception Message.setStringProperty() n'affiche pas le nom de propriété dans l'exception de caractère non admis. 

6819095 

RFE : le cluster doit prendre en charge la définition de la taille du tampon de flux d'entrée/sortie et de TcpNoDelay. 

6820585 

'Imqcmd list txn' n'affiche pas les transactions de cluster COMMITTED en attente de l'achèvement du courtier distant. 

6820588 

Une transaction de cluster qui consomme à la fois les messages locaux et distants conserve l'état COMMITTED dans l'état d'attente. 

6821639 

NPE sur l'annulation/validation de la transaction pendant la récupération AS pour le mode MQRA-DIRECT 

6823364 

RFE : mise à niveau du compilateur C-API vers Sun Studio 12 sous Solaris. 

6829113 

Une exception ConcurrentModificationException est générée lorsque le délai d'annulation de Tuxedo TM est plus long que la transaction en raison d'une charge importante. 

6832197 

L'accusé de réception distant non transactionnel ne doit pas attendre la réponse distante si le client ne demande pas d'accusé de réception pour un accusé de réception. 

6834735 

Un message du journal imprécis "Unexpected Broker Interal Error" s'affiche lorsque le délai d'attente de Tuxedo TM est plus long que la transaction en état START. 

6836364 

L'abonné de message générique ne reçoit pas les messages distants si son sujet est créé avant l'abonné  

6836691 

Une exception "HA(JCAPS):msg already been removed" se produit à la réception après l'annulation du récepteur XA, puis envoie un message. 

6836749 

HA(JCAPS):ack existe dans l'exception du magasin après la réception d'une annulation durable, puis la validation d'un message 

6837671 

HA(JCAPS):endless redistribue un message validé lors d'une annulation XAResourceImpl.rollback après un envoi réussi. 

6839193 

RFE : mise à niveau du compilateur C++ vers Visual Studio 2008 SP1. 

6845625 

Le courtier entre dans un état de mémoire faible lorsque des consommateurs distants sont créés/fermés de façon répétée. 

6852207 

Une NPE levée par l'envoi d'un message au courtier distant génère le message "unable to process message" à la lecture du paquet de message. 

6853822 

Un message d'exception imprécis "Cannot perform operation END_TRANSACTION" s'affiche lors de la fin d'une transaction FAILED. 

6854142 

Les messages "Waiting for cluster connection" et "Closed cluster connection" s'affichent pour le courtier distant toutes les 3 minutes. 

6858121 

Un AVERTISSEMENT imprécis 'Unknow transaction' s'affiche dans le journal du courtier dans 'imqcmd list txn' si la transaction distante n'existe pas. 

6858488 

La transaction COMMITTED n'est pas supprimér du courtier de base de transactions si le courtier participant à distance a supprimé sa transaction COMMITTED. 

6858905 

ConcurrentModificationException dans Consumer.destroyConsumer  

6861362 

RFE : JMSBridge : prend en charge le mappage automatique de la destination cible vers la destination Message source.getJMSDestination source. 

6861528 

RFE : JMSBridge : autorise un message de branche MessageTransformer.transformer() vers une autre destination dans la cible. 

6861653 

Les informations de transactions de cluster excessives envoyées à COMMIT sont incomplètes dans le courtier distant, en cas de charge de transactions importante. 

6862413 

Message de journal imprécis "mq://xxx.xxx.xx.xx:pppp/ ..." is reachable within 60 seconds". 

6863867 

Une exception MissingResourceException est générée lors du redémarrage du courtier HA s'il possède l'état COMMITTED en attente d'un courtier distant qui ne fonctionne pas. 

6867596 

Une transaction PREPARED récupérée après le redémarrage du courtier retrouve l'état PREPARED si le courtier redémarre à nouveau. 

6868525 

Une exception NullPointerException est générée lors du transfert d'une destination temporaire vers le courtier distant lors de l'établissement de lien. 

6868578 

Certains éléments broadcast/unicast ne possèdent pas l'état vérifié si un lien a été établi avec un courtier distant, ce qui interfère avec le protocole de transfert en cours et allonge le temps nécessaire à l'établissement du lien. 

6871612 

Les messages HA:log "Cant notify transaction.completion.." s'affichentlors de la consommation des messages distants si le courtier en attente ne fonctionne pas. 

6886391 

L'exception NullPointerException est générée lorsque le système accuse réception du message si celui-ci a déjà été supprimé. 

Bogues résolus dans Message Queue 4.3

Le tableau suivant décrit les bogues résolus dans Message Queue 4.3.

Tableau 1–9 Bogues résolus dans Message Queue 4. 3

Bogue 

Description 

6634033 

Le protocole de cluster ne propage pas valeur de imqConsumerFlowLimit pour les courtiers distants lorsqu'un client est créé.

6713012 

Si un consommateur sur un courtier de cluster est détruit en même temps qu'un courtier distant est redémarré, certains messages risquent de ne pas être transmis. 

6727555 

Message du journal du courtier « Octets max par msg dépassés » : les valeurs de taille réelle du message et le nombre maximal d'octets par message ont été commutés.

6737404 

Les métriques JMX doivent fournir le nombre de messages répartis à partir de destinations (rubriques et files d'attente) mais encore non livrés aux consommateurs. 

6740568 

Le courtier renvoie une exception lorsqu'il consomme un trop grand nombre de messages dans une transaction unique. 

6758524 

La commande permettant de créer une liste d'abonnements durables (imqcmd list dur -d "foo.*") n'accepte pas les caractères génériques dans le nom de la destination.

6758952 

En raison du paramètre imq.portmapper.hostname=localhost, les courtiers ne peuvent pas établir la connexion dans un cluster.

6758817 

En raison du paramètre imq.cluster.hostname=localhost (non recommandé), les courtiers sur différentes machines ne peuvent pas établir la connexion dans un cluster.

Bogues résolus dans Message Queue 4.2

Le tableau suivant décrit les bogues résolus dans Message Queue 4.2.

Tableau 1–10 Bogues résolus dans Message Queue 4.2

Bogue 

Description 

6581592 

Lorsque le programme d'installation ou de désinstallation est exécuté en mode texte (installer –t ), l'écran de résumé affiche le répertoire contenant les fichiers journaux ou de synthèse mais ne répertorie pas le nom de ces fichiers.

6585911 

L'écran de sélection JDK du programme d'installation inclut de façon incorrecte le JRE groupé avec le programme d'installation et utilisé pour exécuter le programme d'installation. 

6587112 

L'écran de synthèse du programme d'installation affiche des informations parasites dans les environnements multi-octets. 

6587127 

Lors de l'exécution du programme d'installation en se référençant à un fichier de réponses (installer -a nom fichier -s), si celui-ci n'existe pas, alors les messages d'erreurs sont incohérents et peu clairs.

6590969 

Autorise le nom d'utilisateur dynamique pour l'authentification de connexion du client. 

6594381 

L'installation des RPM de localisation de Message Queue 4.1(qui se produit lorsque vous sélectionnez la case “Install Message Queue multilingual packages” sur l'écran Multilingual Packages) échouera s'il existe d'anciennes versions de ces RPM de localisation de Message Queue sur votre système. 

6599144 

Lorsque vous désinstallez Message Queue 4.2, la page de garde et le programme de désinstallation restent bloqués et les écrans apparaissent vides et grisés sur Java SE 6, alors qu'ils s'exécutent normalement sur Java SE 5.  

6615741 

Le message délivré dans une session de consommateur transactionnelle annulée n'est pas redélivré si le consommateur d'origine s'est fermé avant l'annulation. 

6629922 

Le gestionnaire des transactions distribuées ne redélivre pas dans l'ordre les messages au consommateur inactif. 

6635130 

Échec du courtier à notifier au producteur de messages non persistants de reprendre la production après avoir été interrompu, car la destination a atteint les limites de mémoire ou de messages. 

6641117 

Le message délivré dans une session de consommateur transactionnelle annulée n'est pas redélivré si le consommateur d'origine s'est fermé après l'annulation. 

6683897 

Erreur de configuration des rapports sur l'écran de résumé du programme d'installation de Message Queue même si la configuration semble se terminer avec succès : le programme d'installation ne peut pas écrire pour /dev/sterr sur certains ordinateurs.

6684069 

Dans un cluster de courtiers dans lequel un grand nombre de messages est délivré à un client distant dans la transaction consommateur, la transaction de validation échoue. 

6688935 

La valeur par défaut du délai d'attente de lecture de Portmapper est trop petite. 

6695238 

Des applications client C ne peuvent pas se connecter à un courtier installé à un emplacement dont le chemin possède des espaces. 

6710168 

Le consommateur ne consomme plus de messages si la destination est interrompue deux fois sans reprise entre les pauses. 

6710169 

L'opération JMX ConsumerManagerMonitor.getConsumerInfo revient toujours à SESSION_TRANSACTED pour le mode accusé de réception.

Bogues résolus dans Message Queue 4.1

Le tableau suivant décrit les bogues résolus dans Message Queue 4.1.

Tableau 1–11 Bogues résolus dans Message Queue 4.1

Bogue 

Description 

6381703 

Les messages distants transactionnels peuvent être validés deux fois si le courtier à l'origine des messages redémarre. 

6388049 

Impossible de nettoyer une transaction distribuée incomplète. 

6401169 

Les options de validation et d'annulation de imqcmd n'envoient pas d'invite de confirmation. 

6473052 

Par défaut, les files d'attente créées automatiquement doivent être alternées. (MaxNumberConsumers = -1).

6474990 

Le journal du courtier affiche une ConcurrentModificationException pour la commande imqcmd list dst.

6487413 

Fuite de mémoire lorsque le comportement aux limites est REMOVE_OLDEST ou REMOVE_LOWER_PRIORITY.

6488340 

Basculement du courtier et attente de la réponse par le client pour en accuser réception. 

6502744 

Le courtier ne respecte pas la limite par défaut de la file d'attente de messages bloqués de 1 000 messages. 

6517341 

L'exécution client doit améliorer la logique de reconnexion lorsque le client est connecté à un cluster de courtiers amélioré, en autorisant celui-ci à se reconnecter quelle que soit la valeur de la propriété imqReconnectEnabled.

6528736 

Le service de démarrage automatique de Windows (imqbrokersvc) s'arrête brutalement au démarrage.

6561494 

Les messages sont transmis au mauvais consommateur lorsque ceux-ci partagent une session. 

6567439 

Les messages produits dans une transaction de niveau PREPARED sont transmis en désordre s'ils sont validés après le redémarrage du courtier.

Bogues résolus dans Message Queue 4.0

Le tableau suivant décrit les bogues résolus dans Message Queue 4.0.

Tableau 1–12 Bogues résolus dans Message Queue 4.0

N° de bogue 

Description 

4986481 

Dans Message Queue 3.5, l'appel de Session.recover peut être bloqué en mode de reconnexion automatique.

4987325 

L'indicateur de redistribution a été défini sur false pour les messages redistribués après l'appel de Session.recover.

6157073 

Modification du nouveau message de connexion pour inclure le nombre de connexions sur le service, en plus du nombre total de connexions. 

6193884 

Message Queue envoie un message parasite vers le syslog dans des langues utilisant des caractères non ASCII pour les messages. 

6196233 

La sélection de messages à l'aide de JMSMessageID ne fonctionne pas.

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 évaluation 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. 

6279833 

Message Queue ne doit pas autoriser deux courtiers à utiliser les mêmes tables JDBC. 

6293053 

Le courtier maître ne démarre pas correctement si l'adresse IP du système a été modifiée, à moins que le magasin ne soit nettoyé (via —reset store.)

6294767 

Le courtier de Message Queue doit définir SO_REUSEADDR sur les sockets de réseau qu'il ouvre.

6304949 

Impossible de définir la propriété ClientID pour TopicConnectionFactory.

6307056 

Le journal txn est un goulot d'étranglement des performances.

6320138 

La 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 multicourtier émet une java.lang.NullPointerException .

6330053 

Le client JMS lève une java.lang.NoClassDefFoundError lors de la validation d'une transaction de l'abonné.

6340250 

Prise en charge du type MESSAGE dans la C-API.

6351293 

Ajout d'une prise en charge pour la base de données Apache Derby.