Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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 JS7Comment
H2®1.4.2001.4.200h2-1.4.200.jarMPL 2.0, EPL 1.0yesDBMS and JDBC Drivers are Open Source
MariaDB®102.7.2mariadb-java-client-2.7.2.jarLGPLyesDBMS and JDBC Drivers are Open Source
MySQL®5.7, 8.08.xmysql-connector-java-8.x.jarProprietary Licenseno

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, 19c19.7ojdbc8-18.3.0.0.jar
FUTC Licenseyes

DBMS and JDBC Drivers are not Open Source

Use ojdbc8*.jar for Java 8 releases and newer

PostgreSQL®10, 11, 12, 1342.2.19postgresql-42.2.19.jarBSD 2-clauseyesDBMS and JDBC Drivers are Open Source
SQL Server®2012, 2014, 2017, 20199.xmssql-jdbc-9.x.jre8.jar
mssql-jdbc-9.x.jre11.jar
mssql-jdbc-9.x.jre15.jar
Proprietary Licenseno

DBMS and JDBC Drivers are not Open Source
Use mssql*.jre11.jar for Java 11 - 14
Use mssql*.jre15.jar for Java 15 and newer

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
      languagexml
      titleHikari Connection Pool recommended settings
      collapsetrue
        <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
      languagexml
      titleC3P0 Connection Pool recommended settings
      collapsetrue
        <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.

...