Udostępnij za pośrednictwem


Przechowywanie wiadomości

Gdy kolejki określa przechowywania wiadomości, usługa Broker nie powoduje usunięcia wiadomości z kolejki do czasu zakończenia rozmowy.Ponadto usługa Broker również kopiuje wychodzących wiadomości do kolejki.Dzięki temu usługa, tak aby utrzymać dokładne rekordu wiadomości przychodzących i wychodzących.

Komunikat zatrzymania pozwala zachować rekord dokładne konwersacji dla kolejki podczas konwersacji jest aktywny.W przypadku aplikacji, które wymagają inspekcja szczegółowych lub które trzeba wykonać kompensacyjne transakcji podczas konwersacji nie powiedzie się może to być wygodniejsze niż kopiowanie wiadomości do tabela stanu, w trakcie konwersacji.

Komunikat zatrzymania zwiększa liczbę wiadomości w kolejce dla aktywnej konwersacji i zwiększa ilość pracy SQL Server wykonuje podczas wysyłania wiadomości. Dlatego też przechowywania wiadomości zmniejsza wydajność.Wpływ na wydajność dokładne zależy od wzorców komunikacyjnych dla usług, które korzystają z kolejki.Ogólnie rzecz biorąc należy użyć przechowywania wiadomości ilekroć przechowywania wiadomości jest wymagany dla aplikacji mógł poprawnie działać.Jeśli aplikacja nie wymaga rekord dokładnie wszystkich wysłanych i odebranych wiadomości wówczas, gdy konwersacji jest aktywne, utrzymywania stanu w tabela stanu może zwiększyć wydajność.Należy również pamiętać, że po zakończeniu rozmowy, wiadomości są usuwane z kolejki w taki sposób przechowywania jest używany do celów inspekcji, należy upewnić się skopiować wiadomości do stały magazyn, przed zakończeniem konwersacji.

Uwaga

Korzystanie z przechowywania wiadomości może zmniejszyć wydajność.To ustawienie powinno być wykorzystywany tylko wtedy, gdy aplikacja usługa — Umowa poziom wymaga, że aplikacja zachować dokładną wiadomości wysłanych i odebranych.

Wiadomości w kolejce, które są gotowe do przyjęcia ma stan 1.Instrukcja przyjęcie zwraca wiadomości, które pokazuje stan 1.Po instrukcja przyjęcie zwraca komunikat, ustawienie stanu na 0 i opuszczania wiadomości w kolejce, jeżeli jest przechowywania wiadomości.Jeśli komunikat zatrzymania jest wyłączona, instrukcja przyjęcie usuwa wiadomości z kolejki.Każdej usłudze, która korzysta z kolejki zapisuje wiadomości przychodzących i wychodzących.W takim wypadku polecenie SEND kopiuje wiadomości do kolejki usługa (z Stan of 3) Podobnie jak dodawanie wiadomości do kolejki transmisji.Po zakończeniu rozmowy, kolejki powoduje usunięcie wszystkich wiadomości w konwersacji.

Aplikacja nie może odbierać dwa razy ten sam komunikat, a aplikacja nie może odbierać wiadomości, który został dodany do kolejki jako wiadomości wychodzących.Aby pracować z zachowaną wiadomości, instrukcja SELECT służy do przeszukiwania kolejki.W celu prowadzenia inspekcji, aplikacja wstawia zatrzymanych wiadomości do tabela programu inspekcji przed zakończeniem konwersacji.Kompensacyjne transakcji, aplikacji zwykle Wstecz działa za pośrednictwem przetworzonych wiadomości i z kolei spowoduje cofnięcie pracy dla każdej wiadomości, dopóki nie zostaną przetworzone wszystkie wiadomości.

Aby uzyskać więcej informacji na temat za pomocą instrukcji SELECT, aby uzyskać dostęp do kolejki Zobacz Podczas badania kolejki.