1 / 12

Message-Driven Bean

Message-Driven Bean. 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

salali
Download Presentation

Message-Driven Bean

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 onMessageMDB powinien implementować: • interfejsyjavax.ejb.MessageDrivenBean i javax.jms.MessageListener • publicvoid 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. MetodaonMessage 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ść

More Related