CDI dekoratory: praktyczne zastosowanie

0

Witam,
Mam problem z wyobrażeniem sobie praktycznego zastosowania dekoratorów CDI.

Generalnie wiem, że:

  1. Przed użyciem dekorator należy zainicjować w beans.xml.
  2. Dekorator służy do doczepienia dodatkowej logiki biznesowej do beana.

Mam jednak problem z wymyśleniem praktycznego zastosowania.

Będę wdzięczny jeśli podzielicie się doświadczeniem ze swoich projektów, w których wykorzystaliście dekoratory DI (nie musi być koniecznie CDI, bo frameworki dependency injection są generalnie podobne).

Pozdrawiam,

0
  1. Logowanie czasu wykonania metod, parametrów, itp.
  2. Transformacje parametrów np. ustawienie Locale dla danych.
  3. Obsługa błędów - jak się wywali to możemy w dekoratorze to w jakiś elegancki sposób opakować.
  4. Coś co w Guice nazywa się Assisted Injection, a w Springu Partial Injection. W przypadku beana nie singletonowego można mu wstrzykiwać różne różności przed wywołaniem metody.
  5. Dodatkowe security.
0

A jeżeli chcę zrobić następującą rzecz:

  1. Przed każą metodą w EJB beanie podłączyć się do dataSource.
  2. Po zakończeniu metody zawsze odłaczyć się (nawet jeśli operacja nie uda się), czyli nawet jak poleci wyjątek np. OperationFailedException. Można powiedzieć że byłby to odpowiednik finally w instrukcji try / catch.

Taka sytuacja jest często źródłem spaghetti code, który strasznie mnie drażni. Czy problem łatwiej rozwiązać z użyciem dokoratorów czy interceptorów?

1 użytkowników online, w tym zalogowanych: 0, gości: 1