Witam,
zajmuję się pisaniem aplikacji, która nie wdając się w szczegóły ma komunikować się z bazą danych. Aplikacja łączy się lokalnie z bazą PostgresSQL, za pomocą JDBC. Bazę danych może aktualizować zewnętrzna aplikacja kliencka, która może np. tworzyć nowe zamówienia. I teraz moje pytanie: jak powiadomić aplikację o tym, że w bazie doszło do zmian? Przychodzi mi do głowy taki pomysł:
- Utworzyć wątek, który co jakiś czas sprawdzi czy w bazie danych zmieniono dane jakiejś tabeli i jeśli tak się stało, to wątek dokona aktualizacji wewnętrznych kolekcji, tak aby dane przechowywane w kolekcjach były identyczne z danymi z tabeli
Jednak zastanawiam się nad tym czy istnieją inne sposoby: np, aby baza w jakiś sposób potrafiła wysłać zdarzenie, a w aplikacji można by ustawić słuchacza i w nim obsłużyć odpowiedź na konkretne zdarzenie.
Czy może jest jakieś inne rozwiązanie?