Interface UniversalConnectionPoolManagerMBean


public interface UniversalConnectionPoolManagerMBean
The Universal Connection Pool Manager MBean defines operations and attributes for managing pool instances. Remote users can get access to these operations and attributes using JMX operations. The MBean has access to the Universal Connection Pool Manager and gets the required pool object to start an operation.

There is only one Universal Connection Pool Manager MBean for a JVM and this is registered with an MBeanServer.

All the operations implemented on the pool manager MBean are called only when jmxFlag on the pool manager is set to true. Default value for jmxFlag is true. When the MBeanServer is not available, jmxFlag is automatically set to false.

  • Method Details

    • startConnectionPool

      void startConnectionPool(String poolName) throws UniversalConnectionPoolException
      Starts the connection pool. A connection pool object is obtained from the manager by providing poolname as a key. Pool operation is called to start the connection pool.

      Starting the pool does not start metric collection for the pool. Operation startMetricsCollection needs to be called to start the metric collection for the pool.

      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while starting the connection pool.
    • stopConnectionPool

      void stopConnectionPool(String poolName) throws UniversalConnectionPoolException
      Stops the connection pool. Connection pool object is obtained from the manager by providing poolname as a key. Pool operation is called to stop the connection pool. Stops the metric collection if it is already started.
      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while stopping the connection pool.
    • refreshConnectionPool

      void refreshConnectionPool(String poolName) throws UniversalConnectionPoolException
      Refreshes the connection pool. Connection pool object is obtained from the manager by providing poolname as a key. Pool operation is called to refresh the connection pool.
      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while refreshing the connection pool.
    • recycleConnectionPool

      void recycleConnectionPool(String poolName) throws UniversalConnectionPoolException
      Recycles the connection pool. Connection pool object is obtained from the manager by providing poolname as a key. Pool operation is called to recycle the connection pool. This is similar to refresh(), but allows only invalid available connections in the pool to be replaced with new/fresh connections.
      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while recycling the connection pool.
    • purgeConnectionPool

      void purgeConnectionPool(String poolName) throws UniversalConnectionPoolException
      Purges the connection pool. Connection pool object is obtained from the manager by providing poolname as a key. Pool operation is called to purge the connection pool.

      Removes all connections from the connection pool. The primary difference in behavior between this and refresh() is that the connection pool is left empty with no connections available after calling purge(). Some of the connection pool properties such as minPoolSize or initialPoolSize may not be honored when purging connections from the pool.

      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while purging the connection pool.
    • createConnectionPool

      Creates a connection pool instance based on specified UCP Adapter. Pool and connection factory configuration properties should be set on the Adapter prior to invoking this method. The created pool instance will be added to this UCP manager.
      Parameters:
      ucpAdapter - The UCP Adapter for pool creation.
      Returns:
      instance of xreated MBean
      Throws:
      UniversalConnectionPoolException - If an error occurs while creating the connection pool.
    • destroyConnectionPool

      void destroyConnectionPool(String poolName) throws UniversalConnectionPoolException
      Destroys the connection pool. Connection pool object is obtained from the manager by providing poolname as a key. Pool operation is called to stop the connection pool. The pool is stopped and removed from the manager.
      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while destroying the connection pool.
    • reconfigureConnectionPool

      void reconfigureConnectionPool(String poolName, Properties configuration) throws UniversalConnectionPoolException
      Reconfigures the connection pool. The connection pool is obtained from the manager by providing poolName as key. The following properties are supported in the "configuration" parameter: initialPoolSize, minPoolSize, minIdle maxPoolSize, fastConnectionFailoverEnabled, maxIdleTime, maxConnectionReuseCount, maxConnectionReuseTime, maxStatements, abandonedConnectionTimeout, connectionHarvestMaxCount, timeoutCheckInterval, connectionHarvestTriggerCount, inactiveConnectionTimeout, propertyCycle, connectionWaitTimeout, validateConnectionOnBorrow, onsConfiguration, sqlForValidateConnection, timeToLiveConnectionTimeout, loginTimeout, highCostConnectionReuseThreshold, connectionLabelingHighCost, connectionAffinityCallback, connectionInitializationCallback, connectionCreationConsumer, connectionLabelingCallback, secondsToTrustIdleConnection, connectionRepurposeThreshold.
      Parameters:
      poolName - Connection pool name registered with the universal connection pool manager.
      configuration - the configuration input as Properties
      Throws:
      UniversalConnectionPoolException - If an error occurs while reconfiguring the connection pool.
    • getConnectionPoolNames

      String[] getConnectionPoolNames() throws UniversalConnectionPoolException
      Gets all the pool names managed by the Universal Connection Pool Manager.
      Returns:
      String[] List of connection pool Names, returned as an Array.
      Throws:
      UniversalConnectionPoolException - If an error occurs while getting the pool names.
    • startMetricsCollection

      void startMetricsCollection(String poolName) throws UniversalConnectionPoolException
      Starts metric collection for the provided pool.
      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while starting metrics collection.
    • stopMetricsCollection

      void stopMetricsCollection(String poolName) throws UniversalConnectionPoolException
      Stops metric collection for the provided pool.
      Parameters:
      poolName - Connection pool name to find the connection pool object from the pool manager.
      Throws:
      UniversalConnectionPoolException - If an error occurs while stopping metrics collection.
    • setMetricUpdateInterval

      void setMetricUpdateInterval(Integer interval) throws UniversalConnectionPoolException
      Sets the metric update interval value.
      Parameters:
      interval - Value for metric update interval in seconds.
      Throws:
      UniversalConnectionPoolException - If an error occurs while updating metric interval.
    • getMetricUpdateInterval

      Integer getMetricUpdateInterval()
      Gets the metric update interval value.
      Returns:
      The metric update interval in seconds.
    • registerUniversalConnectionPoolMBean

      void registerUniversalConnectionPoolMBean(UniversalConnectionPoolMBean poolMBean) throws UniversalConnectionPoolException
      Registers the Universal Connection Pool MBean instance with the MBean server. One MBean is registered for every Universal Connection Pool instance. The MBean is created using the standard RequiredModelMBean class during the registration of the Model MBean.
      Parameters:
      poolMBean - the MBean to register in the MBeanServer.
      Throws:
      UniversalConnectionPoolException - If an error occurs while registering the MBean.
    • unregisterUniversalConnectionPoolMBean

      void unregisterUniversalConnectionPoolMBean(String poolName) throws UniversalConnectionPoolException
      Unregisters the Universal Connection Pool MBean from the MBean server. The MBean is created using the standard RequiredModelMBean class during the registration of the Model MBean.
      Parameters:
      poolName - Pool name to identify the MBean and to unregister it from the MBeanServer.
      Throws:
      UniversalConnectionPoolException - If an error occurs while unregistering the MBean.
    • getConnectionPoolLifeCycleState

      UniversalConnectionPoolLifeCycleState getConnectionPoolLifeCycleState(String poolName) throws UniversalConnectionPoolException
      Gets the life cycle state of the Universal Connection Pool.
      Parameters:
      poolName - Connection pool name to find the connection pool object from Universal Connection Pool Manager.
      Returns:
      The life cycle state of the connection pool.
      Throws:
      UniversalConnectionPoolException - If an error occurs while getting the life cycle state.
    • getMBeanNameForConnectionPool

      String getMBeanNameForConnectionPool(String connectionPoolName) throws UniversalConnectionPoolException
      Gets the MBean Name for the corresponding Universal Connection Pool MBean Object.
      Parameters:
      connectionPoolName - Connection Pool Name for which MBean Name is queried
      Returns:
      String Returns the MBean Name String
      Throws:
      UniversalConnectionPoolException - in case of inability to get a pool.
    • diagnosticsSummaryPrintout

      String diagnosticsSummaryPrintout()
      Gets the diagnostics printout.
      Returns:
      diagnostics printout
    • getTraceEnabled

      Boolean getTraceEnabled()
      Is tracing enabled?

      Tracing is the message logging into an in-memory ring buffer.

      This predicate returns a setting that applies to future pools only. This setting does not affect existing pools.

      Returns:
      true, if currently enabled.
    • setTraceEnabled

      void setTraceEnabled(Boolean enabled)
      Enable or disable tracing.

      Tracing is the message logging into an in-memory ring buffer.

      This setter only applies to future pools and won't affect existing ones. If you need to configure an existing pool you can use its dedicated MBean

      Parameters:
      enabled - - true, if enabled, false otherwise.
    • getLoggingEnabled

      Boolean getLoggingEnabled()
      Is logging enabled?

      This is the traditional detailed logging for debugging purposes.

      This predicate returns a setting that applies to future pools only. This setting does not affect existing pools.

      Returns:
      true, if currently enabled.
    • setLoggingEnabled

      void setLoggingEnabled(Boolean enabled)
      Enable or disable logging.

      This is the traditional detailed logging for debugging purposes.

      This setter only applies to future pools and won't affect existing ones. If you need to configure an existing pool you can use its dedicated MBean

      Parameters:
      enabled - - true, if enabled, false otherwise.
    • getLogLevel

      Level getLogLevel()
      Get a current logging level.

      This getter returns a setting that applies to future pools only. This setting does not affect existing pools.

      Returns:
      current logging level.
    • getLogLevelStr

      String getLogLevelStr()
    • setLogLevel

      void setLogLevel(Level logLevel)
      Set a current logging level.

      This setter only applies to future pools and won't affect existing ones. If you need to configure an existing pool you can use its dedicated MBean.

      Parameters:
      logLevel - current logging level to set.
    • setLogLevelStr

      void setLogLevelStr(String logLevel)
    • getBufferSize

      Integer getBufferSize()
      Get in-memory trace buffer size.

      Tracing is the message logging into an in-memory ring buffer. This setting defines this buffer's size.

      This getter returns a setting that applies to future pools only. This setting does not affect existing pools.

      Returns:
      current in-memory trace buffer size.
    • setBufferSize

      void setBufferSize(Integer bufferSize)
      Set in-memory trace buffer size.

      Tracing is the message logging into an in-memory ring buffer. This setting defines this buffer's size.

      This setter only applies to future pools and won't affect existing ones. If you need to configure an existing pool you can use its dedicated MBean

      Parameters:
      bufferSize - current in-memory trace buffer size to set
    • getErrorCodesToWatchList

      String getErrorCodesToWatchList()
      Get a string containing comma separated error codes that will trigger dumping of the in-memory traces in the configured log handler when a UCP error with the given error code occurs.

      This getter returns a property that applies to future pools only. This setting does not affect existing pools.

      Returns:
      list of error codes.
    • setErrorCodesToWatchList

      void setErrorCodesToWatchList(String errorCodesToWatchList)
      Set a string containing comma separated error codes that will trigger dumping of the in-memory traces in the configured log handler when a UCP error with the given error code occurs.

      This setter only applies to future pools and won't affect existing ones. If you need to configure an existing pool you can use its dedicated MBean

      Parameters:
      errorCodesToWatchList - list of error codes.
    • getLoggingConfigFile

      String getLoggingConfigFile()
      Get a string containing logging config file.

      This getter returns a property that applies to future pools only. This setting does not affect existing pools.

      Returns:
      logging config file path..
    • setLoggingConfigFile

      void setLoggingConfigFile(String loggingConfigFile)
      Set a string containing logging config file.

      This setter only applies to future pools and won't affect existing ones. If you need to configure an existing pool you can use its dedicated MBean

      Parameters:
      loggingConfigFile -
    • dumpTraceBuffer

      void dumpTraceBuffer()
      Dump in-memory trace buffer to the target handler.

      Call this method to dump trace buffers of all existing pools.