Wstęp
System PlusWorkflow korzysta z osobnych konfiguracji bazy danych. Jedna dla silnika Shark, druga dla systemu.
Pula połączeń systemowych
Pula połączeń systemowych wykorzystywana jest przez wszystkie akcje systemowe z wyłączeniem akcji samego silnika Shark (tam, gdzie wykorzystana jest transakcja SharkTransaction).
Opisana konfiguracja dotyczy tylko serwera Tomcat 7.
Konfiguracja odbywa się poprzez plik /META-INF/context.xml
<?xml version='1.0' encoding='utf-8'?> <Context path="/PlusWorkflow" docBase="PlusWorkflow" crossContext="true" reloadable="false" debug="1"> <Resource name="PlusWorkflowResource" auth="Container" type="javax.sql.DataSource" driverClassName="<sterownik jdbc>" url="<adres bazy danych>" username="<nazwa użytkownika>" password="<hasło>" maxActive="20" maxIdle="10" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" /> </Context>
Pula połączeń silnika Shark
Wykorzystywana w systemie biblioteka Shark korzysta z własnej implementacji warstwy dostępu do danych (DODS).
Domyślnie shark skonfigurowany jest aby używał com.lutris.appserver.server.sql.standard.StandardConnectionAllocator jako puli połączeń. Poniżej przedstawiono wszystkie możliwe opcje, które można zmienić w pliku konfiguracyjnym (PlusWorkflow.conf).
Ustawienie (dla bazy sharkdb) | Wartość domyślna | Opis |
---|---|---|
DatabaseManager.DB.sharkdb.Connection.Url | brak | Adres URL bazy danych |
DatabaseManager.DB.sharkdb.Connection.User | brak | Nazwa użytkownika bazy danych |
DatabaseManager.DB.sharkdb.Connection.Password | brak | Hasło użytkownika bazy danych |
DatabaseManager.DB.sharkdb.Connection.AllocationTimeout | 1000 | Maksymalny czas (milisekundy) oczekiwania na wolne połączenie (-1 aby czekać w nieskończoność). Wartość -1 nie jest zalecana! |
DatabaseManager.DB.sharkdb.Connection.MaxPoolSize | 0 | Maksymalny rozmiar puli połączeń (wartości <= 0 - pula nieograniczona). |
DatabaseManager.DB.sharkdb.Connection.Logging | false | Logowanie aktywności bazy danych (SQL) . Domyślny kanał (logger): DatabaseManager |
DatabaseManager.DB.sharkdb.Connection.MaxConnectionUsages | -1 | Limit użycia tego samego połączenia. Przekroczenie limitu spowoduje zamknięcie i pobranie nowego połączenia. |
DatabaseManager.DB.sharkdb.Connection.InitConnectionsPoolSize | -1 | Początkowa liczba stworzonych połączeń do bazy danych (<=0 - brak wstępnych połączeń) |
DatabaseManager.DB.sharkdb.Connection.ConnectionIdleTimeout | -1 | Maksymalny czas (milisekundy), który połączenie może spędzić w bezczynności. Jeżeli przekroczony zostanie ten czas, połączenie to zostanie zamknięte, a nowe zostanie pobrane z puli. |