Przekaźnik bazodanowy¶
Mechanizm EDA umożliwia również wysyłanie zdarzeń z poziomu bazy danych.
Założenia¶
- Musi być utworzony w projekcie Neosowym model dla zdarzenia, aby umożliwić deserializację komunikatu z bazy danych.
- Zdarzenia z bazy nie są wysyłane natychmiastowo, ale pobierane na zasadzie mechanizmu poolingu działającego cyklicznie w serwerze Neos. Domyślnie pooling odbywa się w odstępach 1 min.
Uwaga!
W środowisku rozproszonym (wiele Neosów) może być tylko jeden odpowiedzialny za pobieranie i rozsyłanie zdarzeń bazodanowych.
Ważne!
Od wersji Neosa 6.0.16 oraz 5.4.21 wprowadzono zabezpieczenie, które nie pozwala na włączenie przekaźnika bazodanowego na więcej niż jednym Neosie, gdy wiele jest połączonych do tej samej bazy danych. Informacja o zablokowaniu uruchamiania DbProxy wyświetlane jest w logach oraz dodatkowo aplikacja serwera jest wyłączona.
W przypadku wyłączenia Neosa, który jest odpowiedzialny za EdaProxy i przełączenia tej funkcji na innego Neosa może się zdarzyć, że na drugim serwerze przekaźnik bazodanowy się nie uruchomi i dostaniemy informację, że jest on już uruchomione na innym Neosie. Należy wówczas albo odczekać interwał do następnego przetworzenia EdaProxy (domyślnie 1 min) lub na bazie danych w tabeli KONFIG usunąć wpis w którym pole akronim = DBProxyReserved
Konfiguracja¶
W pliku .smd w sekcji [EDA] dostępne są następujące parametry:
- EdaDatabaseProxyService (yes/no) - włącznik mechanizmu DB Proxy. Jeśli tego klucza w pliku .smd nie ma, to przekaźnik jest domyślnie włączony.
- DBProxyInterval - interwał pobierania danych zdarzeń z bazy danych
[EDA]
EdaDatabaseProxyService=yes
DBProxyInterval=0 0/1 * ? * * *