So verbinden Sie MySQL / MariaDB + HikariCP mit Liferay 7 / DXP

Verfahren zum Verbinden von HikariCP (Liferay DXP-Standard) und MySQL mit dem Verbindungspool mit dem Tomcat-Bundle

Liferay 7 / DXP verwendet standardmäßig die Verbindungspoolbibliothek HikariCP. Im Folgenden finden Sie die Einstellungsmethode zum Anwenden des neuesten Datenbankconnectors und der neuesten Verbindungspoolbibliothek, um eine Verbindung zu MySQL herzustellen.

Für MySQL

JNDI-Name, Einstellungen der Verbindungspoolbibliothek

Fügen Sie Folgendes zu "portal-ext.properties" hinzu

portal-ext.properties


setup.database.jar.url[com.mysql.jdbc.Driver]=http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.45/mysql-connector-java-5.1.45.jar
setup.liferay.pool.provider.jar.name[hikaricp]=hikaricp.jar
setup.liferay.pool.provider.jar.url[hikaricp]=http://central.maven.org/maven2/com/zaxxer/HikariCP/2.7.4/HikariCP-2.7.4.jar
jdbc.default.jndi.name=jdbc/LiferayPool
jdbc.default.liferay.pool.provider=hikaricp

Konfigurationsbeispiel für ROOT.xml

Beschreiben der folgenden Ressourcen zwischen den Tags "".

Bitte beschreiben Sie die Adresse der Datenbank, die Sie verwenden, im Teil von "[Server-URL-ist-hier]". Geben Sie den in MySQL erstellten Datenbanknamen in den Teil "[Ihr-DB-Name ist hier]" ein. Setzen Sie "dataSource.user" und "dataSource.password" auf die Ihrer Umgebung.

Laut der Entwicklungs-Checkliste von Liferay beträgt die maximale Anzahl von Verbindungen 75 mit den folgenden Einstellungen. Bitte ändern Sie sie jedoch entsprechend Ihrer Umgebung. Es ist auch erforderlich, die Anzahl der Thread-Pools entsprechend der Anzahl der Datenbankverbindungen zu ändern. Im Allgemeinen beträgt die Datenbankpoolgröße etwa 30% bis 40% der Threadpoolgröße, sodass davon ausgegangen wird, dass der Threadpool zu diesem Zeitpunkt auf etwa 250 festgelegt ist.

xml:tomcat-8.0.32/conf/Catalina/localhost/ROOT.xml


<Resource
    auth="Container"
    type="javax.sql.DataSource"
    name="jdbc/LiferayPool"
    factory="com.zaxxer.hikari.HikariJNDIFactory"
    dataSourceClassName="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
    driverClass="com.mysql.jdbc.Driver"
    idleMaxAgeInMinutes="15"
    idleConnectionTestPeriodInMinutes="10"
    partitionCount="3"
    acquireIncrement="5"
    maxConnectionsPerPartition="25"
    minConnectionsPerPartition="4"
    statementsCacheSize="50"
    dataSource.url="jdbc:mysql://[server-url-is-here]:3306/[your-DB-name-is-here]?useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false&amp;useSSL=false"
    dataSource.user="root"
    dataSource.password="password"
    jdbcUrl="jdbc:mysql://[server-url-is-here]:3306/[your-DB-name-is-here]?useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false&amp;useSSL=false"/>

Für MariaDB

JNDI-Name, Einstellungen der Verbindungspoolbibliothek

Fügen Sie Folgendes zu "portal-ext.properties" hinzu

portal-ext.properties


setup.database.jar.name[org.mariadb.jdbc.Driver]=mariadb.jar
setup.database.jar.url[org.mariadb.jdbc.Driver]=https://downloads.mariadb.com/Connectors/java/connector-java-2.2.0/mariadb-java-client-2.2.0.jar
setup.liferay.pool.provider.jar.name[hikaricp]=hikaricp.jar
setup.liferay.pool.provider.jar.url[hikaricp]=http://central.maven.org/maven2/com/zaxxer/HikariCP/2.7.4/HikariCP-2.7.4.jar
jdbc.default.jndi.name=jdbc/LiferayPool
jdbc.default.liferay.pool.provider=hikaricp

Wenn mariadb.jar nicht auf "$ {tomcat_home} / lib / ext" erweitert ist, laden Sie es manuell herunter und benennen Sie es in "mariadb.jar" um und platzieren Sie es.

Konfigurationsbeispiel für ROOT.xml

Schreiben Sie wie bei MySQL die folgenden Ressourcen zwischen die Tags .

Bitte beschreiben Sie die Adresse der Datenbank, die Sie verwenden, im Teil von "[Server-URL-ist-hier]". Geben Sie den in MySQL erstellten Datenbanknamen in den Teil "[Ihr-DB-Name ist hier]" ein. Setzen Sie "dataSource.user" und "dataSource.password" auf die Ihrer Umgebung.

xml:tomcat-8.0.32/conf/Catalina/localhost/ROOT.xml


<Resource
    auth="Container"
    type="javax.sql.DataSource"
    name="jdbc/LiferayPool"
    factory="com.zaxxer.hikari.HikariJNDIFactory"
    dataSourceClassName="org.mariadb.jdbc.MySQLDataSource"
    driverClass="org.mariadb.jdbc.Driver"
    idleMaxAgeInMinutes="15"
    idleConnectionTestPeriodInMinutes="10"
    partitionCount="3"
    acquireIncrement="5"
    maxConnectionsPerPartition="25"
    minConnectionsPerPartition="4"
    statementsCacheSize="50"
    jdbcUrl="jdbc:mariadb://[server-url-is-here]:3306/[your-DB-name-is-here]?useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false&amp;useSSL=false"
    dataSource.url="jdbc:mariadb://[server-url-is-here]:3306/[your-DB-name-is-here]?useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false&amp;useSSL=false"
    dataSource.user="root"
    dataSource.password="mariadb"
    />

Starten Sie Life Ray

Starten Sie Liferay mit "tomcat-8.0.32 / bin / startup.sh" für Mac / * nix und "tomcat-8.0.32 / bin / startup.bat" für Windows.

Recommended Posts

So verbinden Sie MySQL / MariaDB + HikariCP mit Liferay 7 / DXP
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
So erstellen Sie ein Thema in Liferay 7 / DXP
[Java] Stellen Sie eine Verbindung zu MySQL her
So installieren Sie MySQL
Ich habe MySQL 5.7 mit Docker-Compose gestartet und versucht, eine Verbindung herzustellen
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
Stellen Sie mit Java eine Verbindung zur Datenbank her
Verbinde dich mit Eclipse mit Orakel!
[Android] Verbindung zu MySQL herstellen (unvollendet)
So erstellen Sie mit Docker ~ Express ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
Stellen Sie mit aktiviertem SSL in JDBC eine Verbindung zu mehreren MySQL-Instanzen her
So erstellen Sie ein Service Builder-Portlet in Liferay 7 / DXP
Überprüfen Sie, wie Sie das Zeitlimit festlegen, wenn Sie eine Verbindung zu Spring + HikariCP + MySQL herstellen und SQL ausführen
Wie fange ich mit schlank an?
Wie man ein Zeichen mit "~" einschließt
So erstellen Sie mit Docker ~ MySQL ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
mysql2 kann mit der Bundle-Installation nicht installiert werden
Wie man mssql-tools mit alpine benutzt
So verbinden Sie Heroku und Sequel
So installieren Sie MariaDB 10.4 unter CentOS 8
Stellen Sie mit dem iPhone eine Verbindung zum Rails-Server her
So erstellen Sie eine Rails + Vue + MySQL-Umgebung mit Docker [neueste Version 2020/09]
So erstellen Sie mit Docker ~ Sequelize ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
Aktualisieren Sie MySQL mit Docker von 5.7 auf 8.0
So starten Sie Camunda mit Docker
So rufen Sie Bibliotheken wie JQuery und JQuery UI in Liferay 7 / DXP auf
[Swift] So verbinden Sie TabBar mit Storyboard Reference und verwenden auch NavigationController
So beschneiden Sie ein Bild in libGDX
So passen Sie TextPosition mit der iOS-Tastaturerweiterung an
So teilen Sie Dateien mit Docker Toolbox
So kompilieren Sie Java mit VsCode & Ant
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
[Android] Wie man mit dunklen Themen umgeht
Verwendung von BootStrap mit Play Framework
So wechseln Sie Miniaturbilder mit JavaScript
Mit Docker auf Heroku bereitstellen (Rails 6, MySQL)
[Hinweis] Erste Schritte mit Rspec
Verwendung von MySQL im Rails-Tutorial
API-basierte Steuerung mit cancancan
Stellen Sie mit Eclipse eine Verbindung von Java zu MySQL her
So erreichen Sie den Dateidownload mit Feign
So aktualisieren Sie verwandte Modelle mit accept_nested_attributes_for
So setzen Sie JAVA_HOME mit dem Appassembler-Maven-Plugin von Maven
So implementieren Sie TextInputLayout mit Validierungsfunktion
So behandeln Sie Anmeldefehler mit devise
So löschen Sie Daten mit einem externen Schlüssel
So testen Sie den privaten Bereich mit JUnit
So überwachen Sie Nginx mit Docker-Compose mit Datadog
Der Umgang mit dem Vorkompilieren von Assets ist fehlgeschlagen.
So erreichen Sie das Hochladen von Dateien mit Feign
So führen Sie Blazor (C #) mit Docker aus
So erstellen Sie eine Rails 6-Umgebung mit Docker
[Rails6] So verbinden Sie die von Scaffold generierte Buchungsfunktion mit der von devise generierten Benutzerfunktion
[Java] Ich habe versucht, über den Verbindungspool eine Verbindung mit Servlet (Tomcat) & MySQL & Java herzustellen