Co napisano o SLSB w rozdziale 4 specyfikacji?
- Interfejs biznesowy SLSB to zwykły interfejs w Javie (koniec z EJBObject czy EJBLocalObject, czyli innymi słowy włączania się do hierarchii klas) Nie ma konieczności definicji interfejsu dla usługi sieciowej (ang. Web Service) - służą do tego annotacje @WebMethod dla metod oraz @WebService dla komponentu, który jest punktem styku usługi (ang. web service endpoint). Annotacje są częścią specyfikacji JSR-181.
- Koniec z pojęciem interfejs domowy. Dostęp do komponentu poprzez DI (ang. dependency injection) albo JNDI bezpośrednio poprzez interfejs biznesowy.
- Annotacja @Stateless lub wpis do deskryptora instalacji (koniec z javax.ejb.SessionBean)
- Kontener informuje komponent o zdarzeniach w życiu komponentu - utworzenia i usunięcia - za pomocą metod zwrotnych komponentu oznaczonych annotacją @PostConstruct oraz @PreDestroy, odpowiednio.
@PostConstruct wywołane zostanie po pełnym skonstruowaniu komponentu, łącznie z wstrzeleniem zależności, a przed wywołaniem pierwszej metody biznesowej. Instancja komponentu podczas wywołania metod udekorowanych @PostConstruct oraz @PreDestroy nie związana jest z żadną transakcją oraz kontekstem bezpieczeństwa.
Metody udekorowane przez annotacje @PostActivate oraz @PrePassivate są ignorowane (nie mają racji bytu w przypadku bezstanowego komponentu sesyjnego). - Wstrzeliwanie zależności wykonane jest przed wywołaniem dowolnej metody biznesowej.
- Interceptory @AroundInvoke są wspierane dla wywołań metod biznesowych. Deklaracja interceptorów odbywa się poprzez deklarację na klasie komponentu albo w klasie interceptora. W specyfikacji zaprezentowano przykład klasy komponentu z zadeklarowanymi interceptorami - AccountAudit (odnotowywanie poprawnego wykonywania metody biznesowej), Metrics (śledzenie czasu wykonania metody biznesowej) oraz CustomSecurity (weryfikacja uprawnień wykonania metody biznesowej).
- Klient pozyskuje referencję do interfejsu biznesowego komponentu przez DI albo JNDI.
Brak komentarzy:
Prześlij komentarz