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 that ships for evaluation purposes.
  • The supported DBMS products include
    • Embedded H2®
    • MariaDB®
    • MySQL®
    • Oracle®
    • PostgreSQL®
    • SQL Server®
  • Basically any versions of a DBMS can be used that are actively supported by 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 and JDBC Driver Versions

Operation of JS7 is supported for the below stated DBMS versions.

The JDBC Drivers for a number of DBMSs are included with JS7. However, due to restrictions for bundling of JDBC Drivers with Open Source software for some DBMS products, users have to download the JDBC Driver from the vendor's web site themselves:

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


In most situations it is technically possible to operate JS7 with newer versions of a DBMS or JDBC Driver if the version is actively supported by the DBMS vendor. Users frequently ask if JS7 is compatible with newer versions of a DBMS or JDBC Driver. It's the wrong question and your DBA should know the answer. Consider the following example for Oracle® that similarly applies to other DBMS:

  • Oracle® ships a newer version of their DBMS compatible to previous versions, e.g. the 19c release is compatible to 18c and down to 12c and 10g.
  • Compatibility includes that your DBA finds a technical compatibility switch in the DBMS to run the 19c version compatible to 18c, 12c etc. This means your DBA is in control of compatibility.
  • SOS documents that JS7 is compatible to Oracle® 12c and 18c. This boils down to the fact that your DBA can run any newer version of the DBMS in a compatibility mode that supports 12c or 18c.
  • The question if SOS will ship a JS7 release specifically for 19c would mean that the product is no longer compatible to earlier releases of the DBMS. This will not happen. The JS7 is not too demanding when it comes to the DBMS that is considered a simple datastore.

The same applies to JDBC Drivers. There might be newer versions of JDBC Drivers that e.g. include bug-fixes. Do not ask SOS if JS7 were compatible to a specific JDBC Driver version. Ask your DBMS vendor if a newer version of the JDBC Driver is compatible to the one stated above. When picking a JDBC Driver then check compatibility with the Java version in use. For Java versions that can be used with JS7 see Which Java versions is JobScheduler available for?

SOS performs >5000 regression tests when it comes to compatibility of Java , DBMS and JDBC Driver versions. The DBMS and JDBC Driver versions stated above are included with SOS regression testing. If a specific version is not stated above then this doesn't mean that JS7 will not work with this version, it means that this version is not included with SOS regression testing. SOS does support use of newer DBMS and JDBC Driver versions not stated above as long as users proof that they are operated in a compatibility mode that corresponds to one of the versions stated above.

Hibernate Configuration Files

...

  • By default a JOC Cockpit instance is configured to use up to 10  connections from the pool. As a rule of thumb 1 connection can be shared by approx. 3 simultaneous users.
    • Adjust this setting to the max. number of connections required for sharing between simultaneous users of JOC Cockpit.
    • Note that connections will be disconnected and returned to the pool if not used for a longer time.
  • Additional connections are used by JS7 Services.
  • Consider to allow the total number of connections when setting up your JS7 database.


JS7 ComponentMin. ConnectionsMax. ConnectionsConfigurableComment
JOC Cockpit10unboundedyesRecommendation: no. of simultaneous users / 3.
This number counts per JOC Cockpit instance.

JS7 - Cluster Service:

11no
JS7 - Cleanup Service55no
JS7 - History Service1no. of connected Controller InstancesnoAny Controllers connected to a JOC Cockpit
Instance are counted
JS7 - Monitor Service33no2 connections for monitoring.
1 connection for notifications.


Hibernate allows one out of a number of Connection Pool implementations to be chosen.

...