Message-Driven Bean.

Slides:



Advertisements
Podobne prezentacje
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Advertisements

Związki w UML.
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Mechanizmy pracy równoległej
Architektura SAP R/3 Wybrane zagadnienia.
Zaawansowane metody programowania – Wykład V
Systemy rozproszone W. Bartkiewicz
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
Uwierzytelnianie i autoryzacja dostępu do portali
Artur Jonak empolis Polska Sp. z o.o.
Arkadiusz Twardoń ZTiPSK
Systemy rozproszone Komunikacja (I)
Platforma J2EE korporacyjny standard wytwarzania złożonych systemów informatycznych Autor: Jarosław Lis Warszawa, 2006r.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE

Język Java Wielowątkowość.
Modele baz danych - spojrzenie na poziom fizyczny
Projektowanie warstwy serwera Programowanie aspektowe.
Spring podstawy.
Wprowadzenie do platformy J2EE
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
Inżynieria Oprogramowania
Wstęp do kontenerów IoC
Architektura Systemu MunSOL
Protokół Komunikacyjny
Transakcje zarządzane kontenerem
Tadeusz Ziębakowski Zachodniopomorski Uniwersytet Technologiczny.
Jerzy Jelinek Paweł Korpowski
E-learning? Prosta sprawa!
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Projektowanie obiektowe
Projektowanie obiektowe
Projekt i implementacja uogólnionego mechanizmu Java RMI
Wybrane zagadnienia relacyjnych baz danych
Zpiratował Rafał Kaczyński. Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. Hibernate pozwala na.
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Clustering Technologia klastrowa - architektura łącząca serwery i urządzenia pamięci masowych w celu zwiększenia niezawodności, bezpieczeństwa i wydajności.
Modelowanie obiektowe - system zarządzania projektami.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Hibernate Podstawy.
Zakres Wzorce projektowe ( -Adapter (str , wykład wzorce projektowe.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Paweł Starzyk Obiektowe metody projektowania systemów
XML w serwisach webowych. Zapotrzebowanie na serwisy XML.
.NET i Bazy Danych Projekt: Wadim Grasza.
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
Wzorce Projektowe w JAVA
Łukasz Bieszczad Mateusz Gałązka Karol Włodarek
Model warstwowy ISO-OSI
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Marta Szcześniak.
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Sławomir Staśkiewicz JBossAS i EJB 3.1 Sławomir Staśkiewicz
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Paweł Kamieński. System mobilny Wszędzie masz dostęp do danych Na realizację tej prostej i intuicyjnej koncepcji złożył się przede wszystkim olbrzymi.
 Czyli jak stworzyć czat między serwerami Autor: Michał Krzempek.
(c) InMoST 2006 Plan szkolenia ▪ Wprowadzenie (9:00-10:30): Czym jest szacowanie? (MO) Systematyczne podejście do planowania (ŁO) Planowanie, a kalendarz.
Typy wyliczeniowe, kolekcje
Komponentowe systemy rozproszone
Wątki, programowanie współbieżne
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Diagramy interakcji Kamil Kuliczkowski.
Aplikacje i usługi internetowe
JavaBeans by Paweł Wąsala
PGO Porównywanie obiektów
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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 pojedynczy obiekt MDB może przetwarzać komunikaty od wielu klientów

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).

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.

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

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

Schemat umieszczenia MDB

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.

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

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.

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

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ść