MariaDB  -  Wie konfiguriere ich die Tomcat Datenbankresource

Damit der Tomcat später die Datenbankverbindungen in einem Pool verwaltet, benötigt dieser eine entsprechende Konfiguration. Wir legen dazu pro Datenbankverbindung eine Resource an. Wie das geht, erfährst Du hier.

Ebenso benötigt der Tomcat die zur Datenbank passenden Datenbanktreiber, welche im lib-Verzeichnis des Tomcats bereitgestellt werden müssen.

Treiber bereitstellen

Wir laden den aktuellen Treiber von MariaDB herunter. Dazu gehen wir zuerst in das tmp-Verzeichnis und führen danach den folgenden Befehl aus:

cd /tmp/
wget https://downloads.mariadb.com/Connectors/java/connector-java-2.6.0/mariadb-java-client-2.6.0.jar

Wir verschieben die Datei anschließend ins lib-Verzeichnis des Tomcats:

sudo mv mariadb-java-client-2.6.0.jar /opt/tomcat/home/lib/

Datenbankresource anlegen

Wir editieren dazu die Datei "server.xml" des Tomcats und fügen den Inhalt innerhalb den "GlobalNamingResources" ein:

sudo nano /opt/tomcat/home/conf/server.xml
<Resource type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
   driverClassName="org.mariadb.jdbc.Driver"
   name="jdbc/NAME"
   url="jdbc:mariadb://192.168.159.90:3306/DATENBANKNAME_P" username="BENUTZER" password="PASSWORT"
   initialSize="0" logAbandoned="true"
   maxActive="10" minIdle="0" maxIdle="10" maxWait="5000"
   minEvictableIdleTimeMillis="600000"
   removeAbandoned="true" removeAbandonedTimeout="300"
   testOnBorrow="true" testWhileIdle="true"
   timeBetweenEvictionRunsMillis="60000"
   validationQuery="select 1"/>

Ersetzen musst Du:

name= vergib einen Namen, so wie Du ihn in der context.xml Deiner App ansprechen möchtest
url= hinterlege Deine IPv4-Adresse:3306 und Deinen Datenbanknamen
username= der Benutzername der auf Deine Datenbank berechtigt ist
password= das Passwort des Benutzers

Das sieht dann wie folgt aus:

Mit "Strg + O" und dann "Enter" können wir die Änderung speichern. Mit "Strg + X" verlassen wir danach den Editor.

Nun kann die Datenbank-Resource über die "context.xml" der Webapp angesprochen werden.