In diesem Abschnitt werden die bekannten Probleme mit Message Queue 3.7 UR1 aufgeführt. Dies betrifft die folgenden Produktbereiche:
Eine Liste der aktuellen Fehler, deren Status und Umgehungsmöglichkeiten finden Sie als Mitglied der Java Developer ConnectionSM auf der Seite "Bug Parade" auf der Java Developer Connection-Website unter http://bugs.sun.com/bugdatabase/index.jsp Prüfen Sie die Informationen auf dieser Seite, bevor Sie einen neuen Fehler melden. Auch wenn nicht alle Message Queue-Fehler aufgelistet sind, ist diese Seite ein guter Ausgangspunkt, wenn Sie feststellen möchten, ob ein Problem bekannt gegeben wurde.
Die Mitgliedschaft bei der Java Developer Connection ist kostenlos, es ist jedoch eine Registrierung erforderlich. Weitere Informationen dazu, wie Sie Mitglied bei der Java Developer Connection werden, finden Sie auf der Sun Java-Webseite für Entwickler.
Wenn Sie einen neuen Fehler melden oder eine Funktionsanfrage einreichen möchten, senden Sie eine E-Mail an imq-feedback@sun.com.
Ein Verbindungsdienst, der SSL verwendet, ist derzeit auf die Unterstützung von selbstsignierten Serverzertifikaten eingeschränkt, d.h. auf den beglaubigten Hostmodus.
Wird ein JMS-Client bei Verwendung des HTTP-Transports plötzlich beendet, z. B. über Strg-C, benötigt der Broker etwa eine Minute, bevor die Clientverbindung und alle damit zusammenhängenden Ressourcen freigegeben werden.
Wird innerhalb dieses Zeitraums eine weitere Instanz des Clients gestartet, die versucht, dieselbe Client-ID, Warteschlange oder dasselbe dauerhafte Abonnement zu verwenden, wird möglicherweise ein Ausnahmefehler "Client-ID wird bereits verwendet" ausgegeben. Dies stellt jedoch kein Problem dar, es handelt sich lediglich um eine Nebeneffekt des eben beschriebenen Beendigungsvorgangs. Wenn der Client nach etwa einer Minute gestartet wird, sollte kein Fehler auftreten.
In Message Queue 3.7 UR1 wird die Beispielkonfiguration für einen Broker unter Verwendung eines LDAP-Servers als Benutzer-Repository im Kommentarbereich der Datei config.properties angezeigt. Das Beispiel für das LDAP-Benutzer-Repository in der Datei default.properties ist auskommentiert.
Wenn Sie bisher einen Eigenschaftswert der Repository-Eigenschaften für Beispiel-LDAP-Benutzer in der Datei default.properties verwendet haben, erhalten Sie nach dem Upgrade auf Message Queue 3.7 UR1 auf dem JMS-Anwendungsclient einen Sicherheitsausnahmefehler, wenn Sie versuchen, eine JMS-Verbindung herzustellen.
Wenn Ihr JMS-Client versucht, eine Verbindung mit dem Message Queue 3.7 UR1 -Broker herzustellen, wird ein Fehler im Broker-Protokoll angezeigt und Ihr JMS-Client empfängt folgenden Ausnahmefehler:
SecurityException. 20/Aug/2004:11:16:41 PDT] ERROR [B4064]: Ldap repository ldap property .uidattr not defined for authentication type basic:com.sun.messaging.jmq.auth.LoginException: [B4064]: Ldap repository ldap property .uidattr not defined for authentication type basic
Umgehung: Setzen Sie die Broker-Eigenschaft imq.user_repository.ldap.uidattr gemäß den Anweisungen in Kapitel 7, Managing Security in Sun Java System Message Queue 3.7 UR1 Administration Guide.
Die folgenden Punkte beziehen sich auf die Verwendung von Broker-Clustern.
In dieser Version werden lediglich vollständig verbundene Broker-Cluster unterstützt. Daher muss jeder Broker in einem Cluster direkt mit allen anderen Brokern im Cluster kommunizieren. Wenn Sie Broker mithilfe des Befehlszeilenarguments imqbrokerd -cluster verbinden, stellen Sie sicher, dass alle Broker im Cluster enthalten sind.
Ein Client, der mit einem Broker verbunden ist, der wiederum Teil eines Clusters ist, kann QueueBrowser nicht zum Durchsuchen von Warteschlangen nutzen, die sich auf Remote-Brokern in diesem Cluster befinden. Der Client kann nur die Warteschlangeninhalte durchsuchen, die sich auf dem Broker befinden, mit dem er direkt verbunden ist. Der Client sendet eventuell noch Meldungen an eine beliebige Warteschlange oder erhält Meldungen von einer Warteschlange oder einem Broker im Cluster. Die Einschränkung betrifft nur das Durchsuchen.
Wird im Broker-Cluster kein Master-Broker verwendet, werden persistente Informationen, die in einem dem Cluster neu hinzugefügten Broker gespeichert sind, nicht an die anderen Broker im Cluster weitergegeben.
In einem Broker-Cluster werden die Nachrichten an eine Remoteverbindung, die eventuell noch nicht gestartet wurde, in die Warteschlange gestellt (Fehlernummer 4951010).
Umgehung: Der Verbraucher erhält die Nachrichten, sobald die Verbindung gestartet wurde. Die Nachrichten werden an einen anderen Verbraucher gesendet, wenn die Verbindung beendet wird.
Die folgenden Probleme beziehen sich auf die Administration und Konfiguration von Message Queue.
Die Dienstprogramme imqadmin und imqobjmgr geben einen Fehler aus, wenn CLASSPATH auf Windows-Computern doppelte Anführungszeichen enthält (Fehlernummer 5060769).
Umgehung: Sie können diese Fehlermeldung ignorieren. Der Broker informiert die Verbraucher ordnungsgemäß über mögliche Fehler. Dieser Fehler hat keine Auswirkungen auf die Zuverlässigkeit des Systems.
Die Option -javahome in Solaris- und Windows-Skripts (alle Versionen) funktioniert nicht, wenn der bereitgestellte Wert ein Leerzeichen enthält (Fehlernummer 4683029).
Die Option javahome wird von den Message Queue-Befehlen und -Programmen verwendet, um eine alternative Java 2-kompatible Runtime anzugeben. Der Pfadname zur alternativen Java-Runtime darf jedoch keine Leerzeichen enthalten. Beispiel:
Windows: C:/jdk 1.4
Solaris: /work/java 1.4
Umgehung: Installieren Sie die Java-Runtime an einem Speicherort oder unter einem Pfad, der keine Leerzeichen enthält.
Das Attribut imqQueueBrowserMaxMessagesPerRetrieve legt die maximale Anzahl an Nachrichten fest, die von der Client-Runtime in einem Schritt abgerufen werden können, wenn die Inhalte eines Warteschlangenziels durchsucht werden. Die Clientanwendung ruft immer alle Nachrichten aus der Warteschlange ab. Über das Attribut imqQueueBrowserMaxMessagesPerRetrieve wird festgelegt, wie die in der Wartschlange enthaltenen Nachrichten aufgeteilt werden, die an die Client-Runtime gesendet werden müssen (einige große Chunks oder viele kleine Chunks). Die Gesamtzahl der Nachrichten bleibt jedoch gleich. Eine Änderung des Attributwerts kann sich auf die Leistung auswirken, führt jedoch nicht dazu, dass die Clientanwendung mehr oder weniger Daten abruft (Fehlernummer 6387631).
Die nachfolgend beschriebenen Probleme beziehen sich auf den Message Queue-Broker.
HTTPS createQueueConnection verursacht gelegentlich einen Ausnahmefehler unter Windows 2000 (Fehlernummer 4953348).
Umgehung: Stellen Sie die Verbindung erneut her.
Wenn Sie den Broker mit der Tastenkombination Strg-C beenden, werden die Transaktionen nach dem Schließen des Speichers eventuell bereinigt (Fehlernummer 4934446).
Der Broker zeigt eventuell Fehler mit dem Text "Speichermethodenzugriff nach Beendigung des Speichers", wenn der Broker während der Verarbeitung von Nachrichten oder Transaktionen geschlossen wird.
Umgehung: Sie können diese Fehlermeldung ignorieren. Der Broker informiert die Verbraucher ordnungsgemäß über mögliche Fehler. Dieser Fehler hat keine Auswirkungen auf die Zuverlässigkeit des Systems.
Verbraucher verwaisen, wenn ein Zielstandort gelöscht wird (Fehlernummer 5060787).
Aktive Verbraucher verwaisen, wenn ein Zielstandort gelöscht wird. Ein verwaister Verbraucher erhält keine Meldungen mehr. Auch dann nicht, wenn der Zielstandort neu erstellt wird.
Umgehung: Derzeit gibt es keine Umgehung für dieses Problem.
Die Nachrichtenauswahl mit JMSMessageID funktioniert nicht (Fehlernummer 6196233).
Ändern Sie die Auswahl über den folgenden Ausdruck
JMSMessageID = "ID:message-id-string"
folgendermaßen ab
JMSMessageID IN ('ID:message-id-string', 'message-id-string')
Es gibt kein eigenständiges Produkt für Message Queue 3.7 UR1. Für diese Version müssen Sie Message Queue über das Installationsprogramm von Java Enterprise System Installer installieren. Folgen Sie den Anweisungen im Sun Java System Installationhandbuch.
Message Queue menu->Index zeigt falsche Speicherorte für die Produktdokumentations-URL und die "Read Me First"-Datei an (Fehlernummer 6515574).
Beschreibung: Es wird eine ältere Dokumentation angezeigt, wenn der Benutzer die Dokumentation aus dem Message Queue-Eintrag im Windows-Startmenü öffnet.
Umgehung: Öffnen Sie die Dokumentation über http://docs.sun.com/app/docs/coll/1307.2http://docs.sun.com/app/docs/coll/1307.2.
Im Systemsteuerungsfenster zum Hinzufügen und Entfernen von Software wird Sun Java Enterprise System anstelle von Message Queue aufgelistet.
Die Datei Config_MQ.txt enthält fehlerhafte Informationen. Im Folgenden sind Berichtigungen zu einigen Fehlern aufgeführt:
Die Optionen "Automatisch konfigurieren" und "Manuell konfigurieren" stehen mit Message Queue nicht zur Verfügung. Zudem ist keine Option vorhanden, um das Administratorpasswort festzulegen.
Über die Option "Automatisch konfigurieren" wird der Windows-Dienst Message Queue-Broker automatisch installiert und gestartet.
Die Option "Manuell konfigurieren" ermöglicht die Installation des Message Queue-Brokers, ohne diesen als Windows-Dienst zu starten.
Beim Versuch, den Broker auf einer Festplatte ohne ausreichenden Speicherplatz zu installieren, werden irreführende Fehlermeldungen angezeigt. Beispiel: "Fehler: -1603 Schwerwiegender Fehler während der Installation."
mq/bin wurde bei der Installation nicht zu dem Pfad hinzugefügt (Fehlernummer 6515557).
Beschreibung: Die ausführbaren Dateien von Message Queue werden über die Windows-Eingabeaufforderung nicht gefunden. Durch die Eingabe von imqcmd wird folgender Fehler ausgelöst: Der Befehl 'imqcmd' ist entweder falsch geschrieben oder konnte nicht gefunden werden.
Umgehung: Stellen Sie sicher, dass die Variable PATH den Pfad install-MQ-directory/bin angibt, oder führen Sie die Anwendungen vom Verzeichnis install-MQ-directory/bin aus.
Message Queue Install unterstützt keine automatische Installation von gemeinsamen Komponenten.
Umgehung: Verwenden Sie die JDK-Version 1.6.0 (SOAP-Komponenten in 1.6.0), oder installieren Sie Application Server unter Windows, wodurch gemeinsame SOAP-Komponenten installiert werden.