Camunda BPM - zmiana domyślnej bazy H2 na MySQL
Domyślnie Camunda skonfigurowana jest by używać bazy H2. Czym jest baza H2. To lekka, napisana w Java baza która zajmuje (bez danych) tylko około 2MB na dysku. Ale ilość danych które może obsłużyć jest imponująca - maksymalnie 18446744073709551616 rekordów w tabeli. Idealnie nadaje się więc do różnego rodzaju projektów jako "domyślna baza", uruchamiana w produkcjach w wersji demo - uruchamiasz produkt a baza razem z nim. Możesz połączyć się z bazą H2 Camundy wpisując w przeglądarce http://localhost:8080/h2/h2 - użytkownik 'sa' bez hasła (pozostaw domyślne ustawienia w oknie logowania).
Camunda zaleca zmianę bazy danych na inną jeśli oprogramowanie ma być wykorzystywane produkcyjnie. Camunda ma gotowe skrypty by utworzyć strukturę bazy danych dla następujących baz danych: cockroachdb, db2, mariadb, oracle, postgres. Każdy więc odnajdzie się tutaj ze swoją ulubioną bazą danych. My pokażemy jak skonfigurować Camundę do pracy z MySQL.
Instalujemy MySQL
Istnieje wiele sposobów w jaki możesz uruchomić MySQL. Jednym z nich, szczególnie jeśli używasz tej bazy do testów lub w niezbyt obciążonym środowisku jest pobranie całego pakietu narzędzi Xampp [nie wymaga instalacji - wystarczy rozpakować], można też pobrać Wamp [identyczna koncepcja] lub po prostu pobierz bazę ze strony MySQL. Zakładamy jednak że już masz działający serwer MySQL. W takim razie zacznij od utworzenia bazy danych.
Utwórz bazę danych o nazwie 'camunda', użytkownika i nadaj odpowiednie uprawnienia. Dobrze byłoby by nazwa użytkownika nie była zbyt oczywista, np. także 'camunda'.
Konfigurujemy Camundę do pracy z MySQL
Pobierz sterownik [Java] ze strony MySQL i po rozpakowaniu [np. mysql-connector-java-8.0.23.jar] skopiuj go do katalogu 'camunda-bpm-tomcat-X.X.0\server\apache-tomcat-X.X.X\lib'. Otwórz w edytorze, np notepad++ plik 'camunda-bpm-tomcat-X.X.0\server\apache-tomcat-X.X.X\conf\server.xml' i znajdź sekcję:
<Resource name="jdbc/ProcessEngine"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
uniqueResourceName="process-engine"
driverClassName="org.h2.Driver"
url="jdbc:h2:./camunda-h2-dbs/process-engine;MVCC=TRUE;TRACE_LEVEL_FILE=0;DB_CLOSE_ON_EXIT=FALSE"
defaultTransactionIsolation="READ_COMMITTED"
username="sa"
password="sa"
maxTotal="20"
minIdle="5"
maxIdle="20" />
Zmień ustawienia na takie jak niżej (oczywiście zmieniająć użytkownika i hasło):
<Resource name="jdbc/ProcessEngine"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
uniqueResourceName="process-engine"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/camunda"
defaultTransactionIsolation="READ_COMMITTED"
username="bpm_user_camunda"
password="XCP-Phj12LM+"
maxTotal="20"
minIdle="5"
maxIdle="20" />
Uruchom camundę wybierając odpowieni dla Twojego systemu plik startujący z katalogu 'camunda-bpm-tomcat-X.X.X'. Camunda przy starcie wykona tworzenie struktury bazy danych (utworzy tabele) i wgra niezbędne ustawienia oraz przykładowe taski. Możesz to sprawdzić logując sie do MySQL. Gotowe - Twoja Camunda działa na produkcyjnej wersji bazy danych!