Używaj powiązań produktu WebSphere do definiowania nazw JNDI komponentów bean sterowanych komunikatami

Sterowany komunikatami deskryptor konfiguruje miejsce docelowe procesu nasłuchującego komunikaty. Odwołanie do miejsca docelowego komunikatu to nazwa logiczna służąca do znajdowania komponentu EJB w module EJB stanowiącego docelowe miejsce komunikatu. Odwołania do miejsca docelowego komunikatu istnieją tylko w artefaktach J2EE 1.4 i nowszych w rodzaju:

Jeśli z pojedynczym odsyłaczem miejsca docelowego komunikatu powiązanych jest wiele odwołań do miejsca docelowego komunikatu, to pojedyncza nazwa JNDI komponentu EJB odwzorowująca odsyłacz do miejsca docelowego komunikatu, czyli w efekcie do wszystkich dowiązanych odwołań do miejsc docelowych komunikatów, jest kolekcjonowana w trakcie wdrożenia. W czasie wykonywania odwołania do miejsca docelowego komunikatu są wiązane z administracyjnymi miejscami docelowymi komunikatów w docelowym środowisku operacyjnym. Jeśli odwołanie do miejsca docelowego komunikatu i komponent bean sterowany komunikatami zostają dowiązane do tego samego miejsca docelowego komunikatu, to zarówno odwołanie jak i komponent bean muszą mieć tę samą nazwę JNDI miejsca docelowego. Jeśli oba elementy posiadają tę samą nazwę, kolekcjonowana i zastosowana w odpowiednim odwołaniu do miejsca docelowego komunikatu zostaje tylko nazwa JNDI miejsca docelowego dla komponentu bean sterowanego komunikatami. Jeśli osoba wdrażająca wybierze generowanie powiązań domyślnych podczas instalowania aplikacji, kreator instalacji przypisze nazwy JNDI następującym niekompletnym odwołaniom do miejsc docelowych komunikatów:
Jeśli odwołanie do miejsca docelowego komunikatu ma atrybut < message-destination-link>, nazwa JNDI jest ustawiana na ejs/message-destination-linkName W przeciwnym razie nazwa JNDI jest ustawiona na eis/message-destination-refName .

Ta reguła wykrywa nazwy JNDI miejsc docelowych dla komponentów bean sterowanych komunikatami. Zautomatyzowana poprawka skopiuje docelową nazwę JNDI z pliku weblogic-ejb-jar.xml do pliku WebSphere(R ) Application Server plik powiązań. Zautomatyzowana poprawka nie ustawi jednak nazwy ActivationSpec JNDI ani nie zmigruje właściwości konfiguracji aktywacji w ejb-jar.xml.

Rozwiązanie ręczne dla serwera Liberty


Rozwiązania ręczne dla serwera WebSphere traditional

Programista aplikacji może utworzyć definicje powiązań w pliku ibm-xxx-bnd.xml dla modułów EJB 3.0 i WWW 2.5 oraz w pliku ibm-xxx-bnd.xmi dla modułów istniejących w środowiskach wcześniejszych niż Java(R) Platform, Enterprise Edition (Java EE) 5. Może utworzyć je za pomocą specjalnego narzędzia, na przykład IBM(R) Rational(R) Developer albo, w przypadku modułów EJB 3.0 lub Web 2.5, za pomocą edytora XML lub edytora tekstu. Następnie programista przekazuje aplikację korporacyjną (plik .ear) wraz z powiązaniami do asemblera aplikacji lub osoby wdrażającej. Podczas procesu składania aplikacji asembler nie modyfikuje powiązań. Podobnie w przypadku instalowania aplikacji na serwerze obsługiwanym przez produkt WebSphere Application Server osoba wdrażająca nie modyfikuje i nie nadpisuje powiązań ani też nie generuje powiązań domyślnych, chyba że wprowadzenie zmian w powiązaniach jest wymagane dla pomyślnego wdrożenia aplikacji.

Aby wprowadzić wymagane zmiany dotyczące komponentów EJB 2.1 w produkcie Rational Application Developer, wykonaj następujące czynności:
  1. Uruchom narzędzie składania – Rational Application Developer.
  2. Otwórz poprawny projekt EJB.
  3. Kliknij dwukrotnie deskryptor wdrażania.
  4. Kliknij poprawny komponent bean sterowany komunikatami.
  5. Przewiń w dół do sekcji Powiązania produktu WebSphere.
  6. Zaznacz pole wyboru Adapter JCA i wprowadź nazwę JNDI specyfikacji aktywowania ActivationSpec.


Aby wprowadzić wymagane zmiany dotyczące komponentów EJB 2.0 w konsoli administracyjnej, wykonaj następujące czynności: Produkt Rational Application Developer 7.0 nie obsługuje ustawiania specyfikacji aktywowania EJB 2.1 dla komponentów EJB 2.0. Specyfikacje aktywowania EJB 2.1 można ustawiać tylko dla komponentów EJB 2.1.
  1. Ustaw specyfikację aktywowania dla komponentu MDB przy użyciu konsoli administracyjnej podczas wdrażania aplikacji na serwerze WebSphere Application Server.
  2. Wyeksportuj plik EAR aplikacji za pomocą konsoli administracyjnej.
  3. Skopiuj deskryptor wdrażania z pliku EAR do projektu tak, aby miał on poprawną specyfikację aktywowania.

Definiowanie powiązań podczas składania aplikacji

Za pomocą asemblera aplikacji można zdefiniować powiązania w adnotacjach lub deskryptorach wdrażania aplikacji. Moduły Java EE 5 zawierają adnotacje w kodzie źródłowym. W celu zadeklarowania adnotacji asembler aplikacji poprzedza słowo kluczowe znakiem @. Powiązania dla modułów wcześniejszych niż Java EE 5 są określone w sekcji Powiązania produktu WebSphere edytora deskryptora wdrażania. Zmodyfikowanie deskryptorów wdrażania może zmienić definicje powiązań w plikach powiązań utworzonych podczas projektowania aplikacji. Po zdefiniowaniu powiązań asembler przekazuje aplikację osobie wdrażającej. Podczas instalowania aplikacji na serwerze obsługiwanym przez produkt WebSphere Application Server osoba wdrażająca nie modyfikuje i nie nadpisuje powiązań ani nie generuje powiązań domyślnych, chyba że wprowadzenie zmian w powiązaniach jest wymagane do wdrożenia aplikacji.


Definiowanie powiązań podczas instalowania aplikacji

Osoba wdrażająca aplikację lub administrator serwera może modyfikować powiązania w trakcie instalowania aplikacji na serwerze obsługiwanym przez produkt WebSphere Application Server, korzystając z Konsoli administracyjnej. Nowe definicje powiązań można określić na stronach kreatora instalacji.
Ponadto osoba wdrażająca lub administrator może zdecydować, czy podczas instalowania aplikacji mają być generowane powiązania domyślne. Generowanie domyślnych powiązań podczas instalowania aplikacji powoduje, że produkt tworzy powiązania w aplikacji z użyciem wartości domyślnych. Istniejące powiązania nie są zmieniane.
Ograniczenie: nie można definiować ani nadpisywać powiązań podczas instalowania aplikacji dla klientów aplikacji. Powiązania dla modułów klienta aplikacji należy zdefiniować podczas asemblacji i zapisać w pliku powiązań.


Definiowanie powiązań podczas konfigurowania zainstalowanej aplikacji

Po zainstalowaniu aplikacji na serwerze obsługiwanym przez produkt WebSphere Application Server osoba wdrażająca aplikację lub administrator serwera może dokonać modyfikacji powiązań, zmieniając wartości na stronach Konsoli administracyjnej, na przykład tych dostępnych z poziomu strony ustawień dla aplikacji korporacyjnej.