Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • konfiguracji:
    - bazy danych,
    -parametrów  parametrów systemu,
    -logów logów,
    - funkcji eksperymentalnych
  • danych:
    -pliki logów,
    -zainstalowane wtyczki,
    -katalog tymczasowy,
    -mapy procesów.

...

Z kolei w przypadku instalowania nowego systemu instalatorem wystarczy podać ścieżkę katalogu domowego oraz konfigurację bazy danych w oknie instalatora.

Automatyczna instalacja wtyczek

Istnieje możliwość automatycznego instalowania wtyczek umieszczonych w katalogu domowych (od wersji 4.1.2). W katalogu <home-dir>/config/plugins należy umieścić pliki .jar wtyczek które chcemy instalować przy starcie systemu.

 

Zasady aktualizacji w zależności od wersji wtyczek już zainstalowanych:

Wersja w katalogu domowymWersja zainstalowanaAkcja
1.0.0brak

Status
colourGreen
titleINSTALL

1.0.0-SNAPSHOTbrak

Status
colourGreen
titleINSTALL

1.0.11.0.0
Status
colourGreen
titleUPDATE
(wtyczka w katalogu jest nowsza)
1.0.01.0.0
Status
colourBlue
titleBRAK
(wersje wtyczek są takie same)
1.0.01.0.1
Status
colourBlue
titleBRAK
(zainstalowana wtyczka jest nowsza)
2.0.01.0.0-SNAPSHOT
Status
colourBlue
titleBRAK
(wtyczka w wersji SNAPSHOT)
1.0.0-SNAPSHOT2.0.0
Status
colourBlue
titleBRAK
(wtyczka w wersji SNAPSHOT)

 

Zmiana ustawień katalogu domowego

...

Warning

Powyżej przedstawione pliki możliwej konfiguracji katalogu domowego są ułożone według priorytetu odczytywania ustawień przez system, tj. jeżeli w obu plikach została ustawiona ścieżka katalogu domowego, system weźmie pod uwagę ścieżkę z pliku plusworkflow-home.properties.

Konfiguracja bazy danych (plik db.properties)

Lokalizacja: parametry w pliku <home-dir>/config/db.properties

...

Info

Jeżeli parametry dotyczące bazy danych (sekcja 'Database connection configuration'), nie są uzupełnione to system domyślnie uruchomi się na wbudowanej bazie PostgreSQL.

Jeżeli parametry dotyczące bazy danych (sekcja 'Database connection configuration'), nie są uzupełnione to system domyślnie uruchomi się na zewnętrznej bazie danych, która została w tym pliku skonfigurowana.

Jeżeli parametr db.connectionUrl zostawimy pusty, to wygeneruje się on automatycznie, na podstawie pozostałych parametrów. Ma on dodatkowo wyższy priorytet przy łączeniu z bazą, dlatego jeżeli db.connectionUrl będzie wskazywał na inną bazę, niż parametry wyżej, to system będzie próbował połączyć z bazą na podstawie podanego URLa.

Konfiguracja bazy danych (zmienne środowiskowe)

Bazę danych również można skonfigurować przez zmienne środowiskowe. Jest to mało przydatne przy normalnej instalacji systemu u klienta. Jest to preferowana opcja skonfigurowania połączenia z bazą, jeśli system uruchamiany jest w Dockerze (np. Azure).

Nazwy parametrów do skonfigurowania (funkcje analogicznie, do parametrów w punkcie Konfiguracja bazy danych (plik db.properties):

  • PWFL_DB_HOST
  • PWFL_DB_TYPE
  • PWFL_DB_PORT
  • PWFL_DB_USERNAME
  • PWFL_DB_PASSWORD
  • PWFL_DB_NAME
  • PWFL_DB_CONNECTIONURL
  • PWFL_DB_POOL_SIZE
  • PWFL_DB_POOL_IDLE
  • PWFL_DB_POOL_CONNECTIONTIMEOUT
  • PWFL_DB_POOL_LEAKDETECTIONTHRESHOLD
  • PWFL_DB_POOL_CONNECTIONINITSQL

Jeśli skonfigurowane są wymagane zmienne środowiskowe, system pominie sprawdzanie pliku db.properties. Nie utworzy również katalogu config w katalogu domowym.

Warning
titleSterowniki JDBC

Nie należy dodawać sterowników JDBC ręcznie do Tomcata, gdyż projekt systemu zawiera je już w sobie (Postgres, Oracle, SQL Server).

...

Lokalizacja: PlusWorkflow w 'Administracja' -> 'Konfiguracja systemu' -> 'Parametry systemowe'

Status
titlev3.2.22+


Od wersji 3.2.22 zalecanym sposobem zmiany parametrów jest ich zmiana bezpośrednio w PlusWorkflow.
Natomiast w starszych wersjach można to zrobić poprzez własne ustawienia wartości parametrów w <home-dir>/config/PlusWorkflow.conf

Konfiguracja logów

Lokalizacja pliku konfiguracyjnego: domyślna lokalizacja (automatycznie  

Na początku system sprawdza, czy w katalogu domowym w folderze config znajduje się plik log4j2.xml i z niego bierze konfigurację.

Jeżeli plik nie istnieje, to konfiguracja brana jest z projektu plusworkflow-web/resources z pliku log4j2-prod.xml (katalog WEB-INF/classes).

 

W celu modyfikacji pliku konfiguracyjnego należy przekopiować plik log4j2-prod.xml do folderu config w katalogu domowym i zmienić nazwę na log4j2.xml. Po modyfikacji należy zrestartować system.

 

Lokalizacja plików z logami:

Domyślnie pliki z logami zapisywane są do folderu logs w katalogu domowym.

Ścieżkę można zmienić ustawiając parametr plusworkflow.logs w pliku plusworkflow-home.properties lub zmieniając ścieżki w pliku konfiguracyjnym w wybranym appenderze.

Konfiguracja funkcji eksperymentalnych

Lokalizacja: domyślna lokalizacja (opcjonalnie odczytywana przez system) pliku konfiguracyjnego Log4j to to <home-dir>/config/Log4jexperimental.xml .

"Szablon" pliku Log4j.xml najlepiej pobrać z czystego projektu systemu. Jeżeli system nie znajdzie powyżeszego pliku, spróbuje go odczytać z web.xml jako parametr log4jConfigLocation .

Code Block
languagexml
titleweb.xml
<context-param>
   <description>Lokalizacja pliku konfiguracyjnego log4j. (Dla plików na dysku: "file:C:/log4j.xml")</description>
   <param-name>log4jConfigLocation</param-name>
   <param-value>file:/home/nazwa_uzytkownika/Suncode/Home/config/Log4j.xml</param-value>
</context-param>

 

properties.

Funkcje eksperymentalne uruchamiane są poprzez dodanie w nowej linii wpisu reprezentującego daną funkcje:

  • <id funkcji>=<true/false>

Przykładowa zawartość pliku experimental.properties z uruchomionymi dwoma funkcjami:

Code Block
jakasFunkcja1=true
jakasFunkcja2=true

Lista funkcji eksperymentalnych jest zmienna i obecnie dostępne funkcje zadeklarowane są klasie enumeracyjnej ExperimentalFeature jako parametr konstruktora

  • np. dla JAKAS_FUNKCJA_1( "jakasFunkcja1" ) identyfikatorem parametru jest jakasFunkcja1

Konfiguracja mechanizmu monitorowania wątków (plik db.properties)

Lokalizacja: parametry w pliku <home-dir>/config/db.properties

Code Block
# [Threads monitoring configuration]

# Global toggle for threads monitoring mechanisms (default false)
db.threads-monitoring.enabled=false

# Starts tasks periodically dumping threads states to Concurrent logs (default false)
db.threads-monitoring.task.enabled=false

# Delay in seconds to start task after system start (default 240)
db.threads-monitoring.task.delay=240

# Period in seconds between each threads states dumps (default 60)
db.threads-monitoring.task.period=60

# Enable logging of shark process lock attempts that could lead to deadlock exception (default false)
db.threads-monitoring.warnings.dangerousProcessLocks=false

# Enable logging of redundant shark transaction creation
# Such transactions can lead to older data access and faster shark transaction pool drain (default false)
db.threads-monitoring.warnings.redundantSharkTransactions=false

# Enable logging of redundant hikari connection allocations
# Such allocations can lead to faster hikari connection pool drain (default false)
db.threads-monitoring.warnings.redundantHikariConnections=false
Note

Parametr db.threads-monitoring.enabled steruje globalnie całym mechanizmem.

Jeżeli jest wyłączony, to pozostałe funkcje o prefixie db.threads-monitoring.* pozostaną również wyłączone.

Konfiguracja mechanizmu monitorowania wątków (zmienne środowiskowe)

Mechanizm monitorowania wątków również można skonfigurować przez zmienne środowiskowe. Jest to mało przydatne przy normalnej instalacji systemu u klienta. Jest to preferowana opcja skonfigurowania tego mechanizmu, jeśli system uruchamiany jest w Dockerze (np. Azure).

Nazwy parametrów do skonfigurowania (funkcje analogicznie, do parametrów w punkcie Konfiguracja mechanizmu monitorowania wątków (plik db.properties)):

  • PWFL_DB_THREADS_MONITORING_ENABLED
  • PWFL_DB_THREADS_MONITORING_TASK_ENABLED
  • PWFL_DB_THREADS_MONITORING_TASK_DELAY
  • PWFL_DB_THREADS_MONITORING_TASK_PERIOD
  • PWFL_DB_THREADS_MONITORING_WARNINGS_DANGEROUS_PROCESS_LOCKS
  • PWFL_DB_THREADS_MONITORING_WARNINGS_REDUNDANT_SHARK_TRANSACTIONS
  • PWFL_DB_THREADS_MONITORING_WARNINGS_REDUNDANT_HIKARI_CONNECTIONS

To, czy użyte zostaną te zmienne środowiskowe, zależy od zdefiniowania wymaganych parametrów z sekcji Konfiguracja bazy danych (zmienne środowiskowe).

Note

Zmienna środowiskowa PWFL_DB_THREADS_MONITORING_ENABLED steruje globalnie całym mechanizmem.

Jeżeli jest wyłączona, to pozostałe funkcje o prefixie PWFL_DB_THREADS_MONITORING_* pozostaną również wyłączone.

Inne zmienne środowiskowe

Oprócz powyższych zmiennych środowiskowych, dostępne są również następujące z nich do użycia wewnętrznego:

  • PWFL_SHARK_UNCOMMITED_TX_DEADLOCK_PROTECTION_STARTUP_DEADLINE
    • opóźnienie w minutach pierwszego sprawdzenia stanu wtyczki
  • PWFL_SHARK_UNCOMMITED_TX_DEADLOCK_PROTECTION_ATTEMPTS
    • ilość podejmowanych prób commitowania zawieszonych połączeń sharkowych
  • PWFL_SHARK_UNCOMMITED_TX_DEADLOCK_PROTECTION_ATTEMPT_POSTPONE
    • opóźnienie w sekundach podjęcia następnej próby commitowania zawieszonych połączeń sharkowych

Lokalizacja danych

Jeśli katalog domowy jest włączony to w ustawionym folderze znajdują się następujące dane dotyczące działania PlusWorkflow:

...

Opis krokuWymaganeDodatkowe informacje
Ustaw ścieżkę katalogu w parametrze plusworkflow.home w web.xml
(włączenie katalogu domowego)
(plus) 
Przenieś ustawienia bazy danych z context.xml do pliku <home-dir>/config/db.properties (plus)Usuń konfigurację bazy z pliku context.xml i web.xml (tag 'resource-ref').
Przenieś ustawienia parametrów z PlusWorkflow.conf, które mają ustawienia różne od domyślnych. Zmień wartości domyślne parametrów w PlusWorkflow w Administracja' -> 'Konfiguracja systemu' -> 'Parametry systemowe'(plus)

Usuń konfigurację parametru 'Shark_Conf' z pliku web.xml
Jeśli używany był PlusWorkflow.conf z własnymi ustawieniami parametrów to zalecane jest jego usunięcie i ustawienie tych zmienionych parametrów w Konfiguracji systemu->Parametry systemu. Jeśli jednak ustawienia parametrów zostaną nadpisane poprzez umieszczenie PlusWorkflow.conf w miejscu własnych ustawień (nie zalecane), to trzeba z web.xml usunąć parametr 'WorkingDirectory'.

Przenieś zawartość dotychczasowego katalogu z wtyczkami do <home-dir>/data/plugins (lub ew. zainstaluj wtyczki od nowa)(plus) 
Przenieś zawartość dotychczasowego katalogu z mapami procesów do <home-dir>/XPDL(plus) 
Ustaw domyślne logi (zalecane) parametrem log4jConfigLocation w web.xml lub przenieś własne Własne ustawienia logów(plus)

Ustaw wartość parametru log4jConfigLocation na 'classpath:Log4j.xml', wtedy domyślne loggery będą zapisywały logi do domyślnej lokalizacji tj. <home-dir>/logs.
Lub tylko jeśli Jeśli to niezbędne, bo nie jest zalecane, ustaw własne ustawienia logów przenosząc plik Log4jLog4j2.xml do <home-dir>/config, a w parametrze log4jConfigLocation ustaw poprawną ścieżkę z katalogu resources w projekcie plusworkflow-web do <home-dir>/config/Log4j.xml. Oraz w pliku Log4j.xml ustaw ścieżki powstawania logów na <home-dir>/logs.

Jeśli przeniesiono własne ustawienia logów i została w nich zmieniona lokalizacja powstawania plików z logami, a chcesz kontynuować poprzednie pliki logów to przekopiuj zawartość wcześniejszego katalogu z logami do nowej lokalizacji (ustawionej w <home-dir>/config/Log4j.xml)(minus) 
Info
titleUWAGA:

Jeśli istnieje kod wdrożeniowy w którym znajduje sie odwołanie do systemowego data source np:

Code Block
InitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource) initialContext.lookup( "java:comp/env/PlusWorkflowResource" );

należy zastąpić go pobraniem go w ten sposób:

Code Block
DataSource dataSource = DataSourceFactory.getDataSource();