Speichern von Meldungswarteschlangen in Journalen
Aktualisiert: November 2007
Mit Journalwarteschlangen haben Sie die Möglichkeit, Kopien von Meldungen zu speichern, sobald diese verarbeitet werden. Sie können Kopien der Meldungen, die Sie von Ihrem Computer gesendet haben, in der Journalwarteschlange des lokalen Computers speichern, oder Kopien von Meldungen, die aus einer Warteschlange entfernt wurden, im Journal dieser Warteschlange auf dem Server speichern.
Das Speichern von Meldungen in Journalen ist sinnvoll, wenn Sie eine Meldung später noch einmal senden müssen. Angenommen, Sie senden eine Meldung an eine Warteschlange und erhalten dann eine negative Bestätigung, dass sie nicht übermittelt werden konnte. Bestätigungsmeldungen enthalten nicht den Text der Originalmeldung, sondern Headerinformationen und eine Korrelations-ID, die der Originalmeldung entsprechen. Wenn Sie die Journalaufzeichnung aktiviert haben, können Sie die Originalmeldung anhand dieser Korrelations-ID in der Journalwarteschlange Ihres Computers suchen, das Meldungsobjekt noch einmal erstellen und es erneut senden.
Hinweis: |
---|
Sie können eine Meldung mit der ReceiveByCorrelationId-Methode oder mit der PeekByCorrelationId-Methode über die Korrelations-ID abrufen. Beachten Sie, dass mehrere Meldungen dieselbe Korrelations-ID aufweisen können und dass diese Methoden die erste Meldung mit der angegebenen ID in der Warteschlange abrufen. |
Allerdings muss bei Journalwarteschlangen Folgendes beachtet werden:
Pro Computer gibt es eine globale Journalwarteschlange. Alle von diesem Computer gesendeten Meldungen werden in dieser Journalwarteschlange aufgezeichnet, unabhängig davon, ob sie erfolgreich übermittelt wurden oder nicht. Außerdem verfügt jede Warteschlange über eine eigene zugeordnete Journalwarteschlange.
Es gibt zwei Eigenschaften, die die Verwendung von Journalen steuern. Wenn Sie die UseJournalQueue-Eigenschaft für das MessageQueue-Objekt festlegen, aktivieren Sie den Journalspeicher für alle Meldungen, die von dieser Warteschlange empfangen wurden, nicht für Meldungen, die mit diesem Objekt gesendet wurden. Die über die Warteschlange gesendeten Meldungen werden in das Warteschlangenjournal gestellt. Wenn Sie die UseJournalQueue-Eigenschaft für das Message-Objekt festlegen, aktivieren Sie den Systemjournalspeicher. Das bedeutet, dass von Ihrem System gesendete Meldungen in der Systemwarteschlange des Absenders abgelegt werden.
Journalwarteschlangen haben eine maximale Größe, das Kontingent. Diese Größe wird durch die Festplattenkapazität des Computers beschränkt, auf dem sich die Warteschlange befindet. Nachdem die Kapazität der Warteschlange erreicht wurde, werden Meldungen, die an die Journalwarteschlange gesendet worden wären, nicht mehr im System gespeichert. Wenn dieser Fall eintritt, werden keine Fehler ausgelöst. Um diese Situation zu verhindern, müssen Sie den Inhalt Ihrer Journalwarteschlangen unbedingt regelmäßig endgültig löschen. Weitere Informationen hierzu finden Sie unter Gewusst wie: Endgültiges Löschen des Warteschlangeninhalts.
Journalwarteschlangen sind still, d. h., dass sie selbst keine Bestätigungsmeldungen erstellen, gelöschte Meldungen an Warteschlangen für unzustellbare Meldungen senden oder Timeouts verarbeiten können.
Anweisungen zum Einrichten von Journalspeichern für Meldungen finden Sie unter Gewusst wie: Speichern von Meldungen in Journalwarteschlangen.
Siehe auch
Aufgaben
Gewusst wie: Speichern von Meldungen in Journalwarteschlangen
Gewusst wie: Endgültiges Löschen des Warteschlangeninhalts