Comment connecter MySQL / MariaDB + HikariCP avec Liferay 7 / DXP

Procédure de connexion de HikariCP (standard Liferay DXP) et MySQL au pool de connexion avec le bundle Tomcat

Liferay 7 / DXP utilise la bibliothèque de pool de connexions HikariCP en standard. Voici la méthode de configuration pour appliquer le dernier connecteur de base de données et la dernière bibliothèque de pool de connexions pour se connecter à MySQL.

Pour MySQL

Nom JNDI, paramètres de la bibliothèque du pool de connexions

Ajoutez ce qui suit à portal-ext.properties

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

Exemple de configuration ROOT.xml

Décrivez les ressources suivantes entre les balises «».

Veuillez décrire l'adresse de la base de données que vous utilisez dans la partie de [server-url-is-here]. Entrez le nom de la base de données créée dans MySQL dans la partie [votre-nom-de-base-de-données-est-ici]. Définissez dataSource.user et dataSource.password sur ceux de votre environnement.

Selon la liste de contrôle de développement de Liferay, le nombre maximum de connexions est de 75 avec les paramètres suivants, mais veuillez le modifier en fonction de votre environnement. Il est également nécessaire de modifier le nombre de pools de threads en fonction du nombre de connexions à la base de données. En règle générale, la taille du pool de bases de données est d'environ 30% à 40% de la taille du pool de threads, il est donc supposé que le pool de threads est défini sur environ 250 à ce moment.

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"/>

Pour MariaDB

Nom JNDI, paramètres de la bibliothèque du pool de connexions

Ajoutez ce qui suit à portal-ext.properties

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

Si mariadb.jar n'est pas développé en $ {tomcat_home} / lib / ext, téléchargez-le manuellement et renommez-le en mariadb.jar et placez-le.

Exemple de configuration ROOT.xml

Comme avec MySQL, écrivez les ressources suivantes entre les balises «».

Veuillez décrire l'adresse de la base de données que vous utilisez dans la partie de [server-url-is-here]. Entrez le nom de la base de données créée dans MySQL dans la partie [votre-nom-de-base-de-données-est-ici]. Définissez dataSource.user et dataSource.password sur ceux de votre environnement.

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"
    />

Lancez Life Ray

Démarrez Liferay avec tomcat-8.0.32 / bin / startup.sh pour Mac / * nix et tomcat-8.0.32 / bin / startup.bat pour Windows.

Recommended Posts

Comment connecter MySQL / MariaDB + HikariCP avec Liferay 7 / DXP
Connectez-vous à MySQL 8 avec Java
Comment créer un thème dans Liferay 7 / DXP
[Java] Connectez-vous à MySQL
Comment installer MySQL
J'ai démarré MySQL 5.7 avec docker-compose et j'ai essayé de me connecter
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Connectez-vous à DB avec Java
Connectez-vous à Oracle avec Eclipse!
[Android] Connectez-vous à MySQL (non terminé)
Comment créer un environnement [TypeScript + Vue + Express + MySQL] avec Docker ~ Express ~
Connectez-vous à plusieurs instances MySQL avec SSL activé dans JDBC
Comment créer un portlet de générateur de services dans Liferay 7 / DXP
Vérifiez comment définir le délai d'expiration lors de la connexion avec Spring + HikariCP + MySQL et de l'exécution de SQL
Comment démarrer avec Slim
Comment entourer n'importe quel caractère avec "~"
Comment créer un environnement [TypeScript + Vue + Express + MySQL] avec Docker ~ MySQL ~
mysql2 ne s'installe pas avec l'installation du bundle
Comment utiliser mssql-tools avec Alpine
Comment connecter Heroku et Sequel
Comment installer MariaDB 10.4 sur CentOS 8
Connectez-vous au serveur Rails avec iPhone
Comment créer un environnement Rails + Vue + MySQL avec Docker [dernière version 2020/09]
Comment créer un environnement [TypeScript + Vue + Express + MySQL] avec Docker ~ Sequelize ~
Mettre à jour MySQL de 5.7 à 8.0 avec Docker
Comment démarrer Camunda avec Docker
Comment appeler des bibliothèques telles que JQuery et JQuery UI dans Liferay 7 / DXP
[Swift] Comment connecter TabBar avec Storyboard Reference et également utiliser NavigationController
Comment recadrer une image avec libGDX
Comment ajuster TextPosition avec l'extension de clavier iOS
Comment partager des fichiers avec Docker Toolbox
Comment compiler Java avec VsCode & Ant
[Java] Résumez comment comparer avec la méthode equals
[Android] Comment gérer les thèmes sombres
Comment utiliser BootStrap avec Play Framework
Comment changer d'images miniatures avec JavaScript
Déployer sur heroku avec Docker (Rails 6, MySQL)
[Note] Comment démarrer avec Rspec
Comment utiliser MySQL dans le didacticiel Rails
Comment faire un contrôle basé sur l'API avec cancancan
Connectez-vous de Java à MySQL à l'aide d'Eclipse
Comment réaliser le téléchargement de fichiers avec Feign
Comment mettre à jour les modèles associés avec accepte_nested_attributes_for
Comment définir JAVA_HOME avec l'appassembler-maven-plugin de Maven
Comment implémenter TextInputLayout avec la fonction de validation
Comment gérer les erreurs de connexion avec l'appareil
Comment supprimer des données avec une clé externe
Comment tester l'étendue privée avec JUnit
Comment surveiller nginx avec docker-compose avec datadog
Comment gérer les actifs de précompilation a échoué.
Comment réaliser le téléchargement de fichiers avec Feign
Comment exécuter Blazor (C #) avec Docker
Comment créer un environnement Rails 6 avec Docker
[Rails6] Comment connecter la fonction d'affichage générée par Scaffold avec la fonction utilisateur générée par devise
[Java] J'ai essayé de me connecter en utilisant le pool de connexion avec Servlet (tomcat) & MySQL & Java