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