Ustawienia asynchronicznych metod komponentów EJB

Strona ta umożliwia modyfikowanie ustawień menedżera pracy używanego w ramach obsługi asynchronicznych metod komponentów Enterprise JavaBeans.

Aby wyświetlić tę stronę Konsoli administracyjnej, należy kliknąć opcję Serwery > Typy serwerów > Serwery aplikacji WebSphere > nazwa_serwera > Ustawienia kontenera EJB > Ustawienia asynchronicznego wywoływania metod EJB.

Opcje Użyj instancji wewnętrznego menedżera pracy i Użyj instancji niestandardowego menedżera pracy wzajemnie się wykluczają.

Użyj tego menedżera pracy dla metod asynchronicznych

Określa instancję domyślnego menedżera pracy.

Produkt udostępnia instancję wewnętrznego menedżera pracy w celu obsługi asynchronicznych metod komponentów EJB. Instancja wewnętrznego menedżera pracy jest wstępnie skonfigurowana dla podstawowej funkcjonalności asynchronicznej metody komponentu EJB, a ponadto udostępnia ograniczone ustawienia konfiguracyjne.

Kliknięcie tego przycisku spowoduje użycie instancji wewnętrznego menedżera pracy do zarządzania wywołaniami metod asynchronicznych. Wybór ten uniemożliwia wybranie opcji Użyj instancji niestandardowego menedżera pracy.

Domyślnie używana jest opcja Użyj instancji wewnętrznego menedżera pracy. Alternatywnie można użyć instancji niestandardowego menedżera pracy.

Użyj instancji niestandardowego menedżera pracy

Określa instancję niestandardowego menedżera pracy.

Zdefiniowanie instancji niestandardowego menedżera pracy umożliwia przeprowadzenie bardziej zaawansowanej konfiguracji asynchronicznych metod komponentu EJB.

Wybranie tej opcji daje możliwość skorzystania z instancji menedżera pracy, która została już zdefiniowana i skonfigurowana w sposób optymalny dla używanego środowiska.

Wybór ten uniemożliwia wybranie opcji Użyj instancji wewnętrznego menedżera pracy.

Maksymalna liczba wątków

Określa maksymalną liczbę wątków używanych w czasie wykonywania asynchronicznych metod komponentu EJB. Wartością domyślną jest 5.

Wielkość kolejki żądań pracy

Określa wielkość kolejki żądań pracy. Kolejka żądań pracy to bufor, w którym żądane metody asynchroniczne są przechowywane do chwili, gdy uruchamiający je wątek stanie się dostępny. Wartość domyślna 0 wskazuje, że wielkość początkowa stanowi połowę zakresu wyznaczonego przez minimalną i maksymalną liczbę wątków.

Suma atrybutów maksymalnej liczby wątków i wielkości kolejki żądań pracy jest całkowitą liczbą dozwolonych żądań metod będących w toku.

Jeśli na przykład jako maksymalną liczbę wątków ustawiono wartość 5, a jako wielkość kolejki żądań pracy ustawiono wartość 50, całkowita liczba dozwolonych żądań metod będących w toku wynosi 55.

Wartością domyślną jest 0. Oznacza to, że wielkość kolejki jest zarządzana przez środowisko wykonawcze. Środowisko wykonawcze aktualnie używa wartości 20 lub wartości atrybutu maxThreads, w zależności od tego, która z tych wartości jest większa.

Działanie w przypadku pełnej kolejki żądań pracy

Określa działanie podejmowane po wyczerpaniu puli wątków i zapełnieniu kolejki żądań pracy. Wartością domyślną jest BLOCK.

Jeśli ustawiono wartość FAIL, zamiast oczekiwania na udostępnienie wątku lub miejsca w kolejce, zgłoszony zostanie wyjątek.

Użycie tej opcji może być przydatne podczas programowania w celu zidentyfikowania błędów powodowanych przez długotrwałe metody asynchroniczne. Istnieje także możliwość jej użycia w celu określenia liczby wątków i wielkości kolejki, które należy skonfigurować.

Jeśli ustawiono wartość BLOCK, wątek żądający wykonania metody asynchronicznej będzie oczekiwał do chwili udostępnienia wątku lub miejsca w kolejce.

Nazwa JNDI menedżera pracy

Określa nazwę JNDI (Java Naming and Directory Interface), która jest używana do wyszukiwania niestandardowego menedżera pracy w przestrzeni nazw.

Czas trwania przyszłego obiektu zdalnego

Umożliwia określenie długości czasu, przez który serwer zachowuje przyszły obiekt każdego wywołania metody asynchronicznej typu „uruchom i zwróć wyniki”. Jeśli aplikacja nie pobierze wyników w określonym czasie, serwer wyczyści wyniki tego wywołania metody, aby uniknąć przecieków pamięci i wystąpienia wyjątku OutOfMemory. Istnieje możliwość określenia wartości 0 powodującej wyłączenie czyszczenia obiektów. Jednak określenie wartości 0 oznacza, że dla przyszłych obiektów nigdy nie nastąpi przekroczenie limitu czasu oraz wyłączone zostanie zabezpieczenie przed niepoprawnie napisanymi programami, które mogą spowodować zgłoszenie przywoływanego wyjątku OutOfMemory. Wartość domyślna to 86400 sekund (24 godziny).

Unikanie problemów Unikanie problemów: Jeśli dla przyszłego obiektu zostanie wywołana metoda get() lub get(time), może to spowodować obniżenie wydajności, ponieważ może wystąpić blokowanie do chwili zakończenia pracy lub minięcia określonego czasu. Dlatego aby uniknąć blokowania przy wywołaniach metod get(..), należy wywołać metodę isDone(), która natychmiast zwraca wynik. Następnie należy wywołać metodę get(), jeśli metoda isDone() zwróci wartość true. gotcha
Obsługiwane konfiguracje Obsługiwane konfiguracje: Wartość ta dotyczy wyłącznie klientów, które wywołują komponent EJB za pomocą zdalnego interfejsu biznesowego. Wartość nie jest używana w przypadku lokalnego interfejsu biznesowego ani widoków bez interfejsu. Po zakończeniu działania asynchronicznego serwer ustawia alarm dla czasu trwania określonego w przypadku przyszłego obiektu po stronie serwera. W momencie aktywowania alarmu serwer zwalnia wszystkie zasoby powiązane z przyszłym obiektem. W ten sposób obiekt staje się niedostępny dla klienta. Jeśli klient wywoła metodę get() dla przyszłego obiektu przed upływem czasu trwania, alarm jest anulowany, a wszystkie zasoby powiązane z przyszłym obiektem są zwalniane. sptcfg


Nazwa pliku: uejb_ejbAsynch_settings.html