Page History
...
- JOC Cockpit makes use of a database to store inventory information, status information and workflow related logs. The database is required for restarting capabilities with the JS7 - Cluster Service.
- JS7 does not include a DBMS, instead, it make use of a DBMS that has been installed separately - with the exception of H2® for which JS7 includes an embedded version of the DBMS for evaluation purposes.
- The supported DBMS products include
- H2®
- MariaDB®
- MySQL®
- Oracle®
- PostgreSQL®
- SQL Server®
- Basically any versions of a DBMS can be used that are actively supported by their its vendor.
- Access to the DBMS is provided by the Hibernate database access layer. This includes to use a JDBC Driver that is specific for the DBMS.
- Consider to check and to apply measures for JS7 - Database Maintenance
...
DBMS Product | DBMS Version | JDBC Driver Version | JDBC Driver File | JDBC Driver License | Included with JS7 | Comment |
---|---|---|---|---|---|---|
H2® | 1.4.200 | 1.4.200 | h2-1.4.200.jar | MPL 2.0, EPL 1.0 | yes | DBMS and JDBC Drivers are Open Source |
MariaDB® | 10 | 2.7.2 | mariadb-java-client-2.7.2.jar | LGPL | yes | DBMS and JDBC Drivers are Open Source |
MySQL® | 5.7, 8.0 | 8.x | mysql-connector-java-8.x.jar | Proprietary License | no | DBMS is Open Source, JDBC Drivers are not Open Source The MariaDB® JDBC Driver can be used for access to MySQL® databases |
Oracle® | 12c, 18c, 19c | 19.7 | ojdbc8-18.3.0.0.jar | FUTC License | yes | DBMS and JDBC Drivers are not Open Source Use |
PostgreSQL® | 10, 11, 12, 13 | 42.2.19 | postgresql-42.2.19.jar | BSD 2-clause | yes | DBMS and JDBC Drivers are Open Source |
SQL Server® | 2012, 2014, 2017, 2019 | 9.x | mssql-jdbc-9.x.jre8.jar mssql-jdbc-9.x.jre11.jar mssql-jdbc-9.x.jre15.jar | Proprietary License | no | DBMS and JDBC Drivers are not Open Source |
Hibernate Configuration Files
...
- By default the Hikari Connection Pool is used with JS7.
The Hikari setting for the
maximumPoolSize
is included with the Hibernate configuration file as this determines the max. number of open database connections:Code Block language xml title Hikari Connection Pool recommended settings collapse true <property name="hibernate.connection.provider_class">org.hibernate.hikaricp.internal.HikariCPConnectionProvider</property> <property name="hibernate.hikari.maximumPoolSize">10</property>
- Additional property elements can be used to add further settings for Hikari to a Hibernate configuration file.
- Alternatively e.g. the C3P0 Connection Pool can be used.
Use of C3P0 suggests a number of additional settings that better match use with JS7 than the default values:
Code Block language xml title C3P0 Connection Pool recommended settings collapse true <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property> <property name="hibernate.c3p0.maxConnectionAge">14400</property> <property name="hibernate.c3p0.maxStatementsPerConnection">0</property> <property name="hibernate.c3p0.maxStatements">0</property> <property name="hibernate.c3p0.checkoutTimeout">0</property> <property name="hibernate.c3p0.maxIdleTime">14400</property> <property name="hibernate.c3p0.acquireRetryAttempts">1</property> <property name="hibernate.c3p0.minPoolSize">5</property> <property name="hibernate.c3p0.acquireIncrement">1</property> <property name="hibernate.c3p0.statementCacheNumDeferredCloseThreads">1</property> <property name="hibernate.c3p0.numHelperThreads">3</property> <property name="hibernate.c3p0.idleConnectionTestPeriod">1800</property> <property name="hibernate.c3p0.maxPoolSize">10</property> <property name="hibernate.c3p0.initialPoolSize">5</property>
- Additional property elements can be used to add further settings, however, close reading of the C3P0 docs is recommended before applying changes.
...