Witam,
Wkrótce chcę opracować system logowania zmian, czyli np. użytkownik wykonuje metodę biznesową x, a informacja o tym zostaje zapisana w tabeli bazy danych specjalnie do tego przeznaczonej (audit table).
Generalnie nie chcę, aby metoda biznesowa zawierała jawne wołanie zapisania / tworzenia logu, bo ją to zanieczyszcza i utrudnia pisanie testów.
Chcę utworzyć adnotację, która spowoduje że odpowiednia informacja zostanie odnotowana (czyli tak naprawdę po wykonaniu metody odpali oddzielną metodę, która utworzy obiekt logu i wykonana na nim persist lub zaregauje na wystąpienie wyjątku i też odnotuje daną sytuację).
Wiem, że tworzenie takich customowych adnotacji umożliwiają Interceptors w EJB3.
Pytanie:
Czy interceptors nadają się do tworzenia logów znajdujących się w audit tables za pomocą JPA (czyli em.persist)? Czy jest jakieś szczególne ograniczenie, o którym warto wiedzieć?
Pozdrawiam,