Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Message-Driven Bean. MDB przypominają bezstanowe session bean-y: obiekty MDB nie przechowują danych albo stanu komunikacji z klientem obiekty MDB nie.

Podobne prezentacje


Prezentacja na temat: "Message-Driven Bean. MDB przypominają bezstanowe session bean-y: obiekty MDB nie przechowują danych albo stanu komunikacji z klientem obiekty MDB nie."— Zapis prezentacji:

1 Message-Driven Bean

2 MDB przypominają bezstanowe session bean-y: obiekty MDB nie przechowują danych albo stanu komunikacji z klientem 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 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 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 przyczyna ich działania jest otrzymanie komunikatu od klienta są wywoływane asynchronicznie są wywoływane asynchronicznie nie reprezentują bezpośrednio danych przechowywanych w bazie ale mogą mieć do nich dostęp i je modyfikować nie reprezentują bezpośrednio danych przechowywanych w bazie ale mogą mieć do nich dostęp i je modyfikować mogą być wykorzystywać transakcje mogą być wykorzystywać transakcje są bezstanowe. są bezstanowe.

5 Nadawcy komunikatów o J2EE komponenty o klient aplikacji o inny EJB o komponent sieciowy. o 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 tworzy konsumenta komunikatów, związuje MDB z miejscem docelowym i fabryką połączeń w czasie instalacji rejestracja message Listenera poprzez metodę setMessageListener rejestracja message Listenera poprzez metodę setMessageListener określa sposób powiadamiania o komunikatach 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 interfejsy javax.ejb.MessageDrivenBean i javax.jms.MessageListener public void ejbCreate() {} do nawiązywania innych synchronicznych połączeń z innymi EJB 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 ejbRemove() {} do zamykania połączeń nawiązywanych przez ejbCreate() public void setMessageDrivenContext(MessageDrive nContext mdc) {} do zarządzania transakcjami public void setMessageDrivenContext(MessageDrive nContext mdc) {} do zarządzania transakcjami

10 Metoda onMessage powinna: być zadeklarowana jako public być zadeklarowana jako public typ zwracany void typ zwracany void musi mieć jeden argument typu javax.jms.Message musi mieć jeden argument typu javax.jms.Message klauzula throws nie może zawierać wyjątków aplikacji 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. 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 zadeklarowane jako public typ zwracany void typ zwracany void nie może być stacic lub final nie może być stacic lub final nie mogą wyrzucać wyjątków aplikacji nie mogą wyrzucać wyjątków aplikacji nie mogą mieć żadnych argumentów 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. 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ść 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. MDB przypominają bezstanowe session bean-y: obiekty MDB nie przechowują danych albo stanu komunikacji z klientem obiekty MDB nie."

Podobne prezentacje


Reklamy Google