Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Message-Driven Bean.

Podobne prezentacje


Prezentacja na temat: "Message-Driven Bean."— Zapis prezentacji:

1 Message-Driven Bean

2 MDB przypominają bezstanowe session bean-y:
obiekty MDB nie przechowują danych albo stanu komunikacji z klientem wszystkie obiekty MDB są podobne, pozwala to kontenerowi EJB na przypisywanie wiadomości (komunikatu) do dowolnego obiektu MDB pojedynczy obiekt MDB może przetwarzać komunikaty od wielu klientów

3 Klient nie lokalizuje samodzielnie obiektów i wywołuje ich metody zamiast tego wysyła komunikat do określonego celu, którego to MDB jest słuchaczem (MessageListener).

4 MDB charakteryzują się :
przyczyna ich działania jest otrzymanie komunikatu od klienta są wywoływane asynchronicznie nie reprezentują bezpośrednio danych przechowywanych w bazie ale mogą mieć do nich dostęp i je modyfikować mogą być wykorzystywać transakcje są bezstanowe.

5 Nadawcy komunikatów J2EE komponenty
klient aplikacji inny EJB komponent sieciowy. aplikacja lub system, które nie korzystają z technologii J2EE

6 Zadania przygotowawcze wykonywane przez kontener EJB :
tworzy konsumenta komunikatów, związuje MDB z miejscem docelowym i fabryką połączeń w czasie instalacji rejestracja message Listenera poprzez metodę setMessageListener określa sposób powiadamiania o komunikatach

7 Schemat umieszczenia MDB

8 Kiedy komunikat znajdzie się w kolejce, kontener EJB wywołuje metodę onMessage, która ma się zatroszczyć o sprawdzenie poprawności komunikatu i wykonać odpowiednie działania.

9 Oprócz metody onMessage MDB powinien implementować:
interfejsy javax.ejb.MessageDrivenBean i javax.jms.MessageListener public void ejbCreate() {} do nawiązywania innych synchronicznych połączeń z innymi EJB public void ejbRemove() {} do zamykania połączeń nawiązywanych przez ejbCreate() public void setMessageDrivenContext(MessageDrivenContext   mdc) {} do zarządzania transakcjami

10 Metoda onMessage powinna:
być zadeklarowana jako public typ zwracany  void musi mieć jeden argument typu javax.jms.Message klauzula throws nie może zawierać wyjątków aplikacji The onMessage method must be invoked in the scope of a transaction that is determined by the transaction attribute specified in the deployment descriptor.

11 Metody ejbCreate i ejbRemove
zadeklarowane jako public typ zwracany void nie może być stacic lub final nie mogą wyrzucać wyjątków aplikacji nie mogą mieć żadnych argumentów

12 Możliwe sposoby zachowania synchronizacji
numerowanie komunikatów na poziomie aplikacji, późniejsze komunikaty są przetrzymywane dopóki wcześniejsze nie zostaną przetworzone. każdy komunikat lub grupa komunikatów wymagają wiadomości potwierdzającej, nadawca blokuje się oczekując na taką wiadomość


Pobierz ppt "Message-Driven Bean."

Podobne prezentacje


Reklamy Google