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ę .
Opcje Użyj instancji wewnętrznego menedżera pracy i Użyj instancji niestandardowego menedżera pracy wzajemnie się wykluczają.
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.
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.
Określa maksymalną liczbę wątków używanych w czasie wykonywania asynchronicznych metod komponentu EJB. Wartością domyślną jest 5.
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.
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.
Określa nazwę JNDI (Java Naming and Directory Interface), która jest używana do wyszukiwania niestandardowego menedżera pracy w przestrzeni nazw.
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: 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: 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