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. |
