Versions Compared

Key

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

...

  • By default a JOC Cockpit REST Web Service 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 the JOC Cockpit.
    • Note that connections will be disconnected and returned to the pool if they are not used for a longer time.
  • Additional connections are used by JS7 Services. Consider the total number of connections allowed when setting up your JS7 database.
    • Some DBMS products by default limit the number of connections per user account and process. JOC Cockpit is running from a single process.
    • Oracle by default limits the connections according to the formula: (1.5 * number of processes) + 22
  • When operating a JOC Cockpit cluster additional connections for the REST Web Service will be created per JOC Cockpit instance.


JOC Cockpit ComponentMin. ConnectionsMax. ConnectionsConfigurableComment
JS7 - REST Web Service API10unbounded (default: 10)yes

Recommendation: number of simultaneous users / 3.
This number counts per JOC Cockpit instance.
The Daily Plan Service uses connections from this connection pool.

JS7 - Cluster Service:

11no
JS7 - Cleanup Service5unbounded (default: 5)yesConfiguration via JS7 - Settings
JS7 - History Service1number of connected Controller InstancesnoAny Controllers connected to a JOC Cockpit Instance are counted.
JS7 - Monitor Service33no2 connections for JS7 - Monitoring.
1 connection for JS7 - Notification.

Total: 20 


...

  • 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 in a Hibernate configuration file to add further settings for Hikari to a Hibernate configuration fileto the Hikari connection pool.
  • 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.

...