Interface WSDataSource

  • All Superinterfaces:
    javax.sql.CommonDataSource, javax.sql.DataSource, java.sql.Wrapper

    public interface WSDataSource
    extends javax.sql.DataSource
    This interface enables an application to provide additional parameters when requesting a Connection. These parameters are provided in a ConnectionSpec object.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ERROR_CONNECTION_POOL_IS_PAUSED
      Error code for SQLException that indicates that the connection pool is paused.
      static java.lang.String IMMEDIATE_PURGE
      With the IMMEDIATE_PURGE option, the purged pool will behave as follows after the purge call: No new transactions will be allowed to start on any connections obtained prior to the purgePoolContents() call.
      static java.lang.String NORMAL_PURGE
      With the NORMAL_PURGE option, the purged pool will behave as follows after the purge call: Existing in-flight transactions will be allowed to continue work Shared connection requests will be honored Free connections are cleanup and destroyed In use connection (i.e.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.sql.Connection getConnection​(JDBCConnectionSpec connSpec)
      Requests a connection that matches the information provided in the JDBCConnectionSpec.
      boolean isXADataSource()
      Indicates whether or not the underlying data source is an XADataSource, capable of two phase commit.
      • Methods inherited from interface javax.sql.CommonDataSource

        createShardingKeyBuilder, getParentLogger
      • Methods inherited from interface javax.sql.DataSource

        createConnectionBuilder, getConnection, getConnection, getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter
      • Methods inherited from interface java.sql.Wrapper

        isWrapperFor, unwrap
    • Field Detail

      • ERROR_CONNECTION_POOL_IS_PAUSED

        static final int ERROR_CONNECTION_POOL_IS_PAUSED
        Error code for SQLException that indicates that the connection pool is paused.
        See Also:
        Constant Field Values
      • NORMAL_PURGE

        static final java.lang.String NORMAL_PURGE
        With the NORMAL_PURGE option, the purged pool will behave as follows after the purge call:
        1. Existing in-flight transactions will be allowed to continue work
        2. Shared connection requests will be honored
        3. Free connections are cleanup and destroyed
        4. In use connection (i.e. connections in transactions) are cleanup and destroyed when returned to the connection pool
        5. close() calls issued on any connections obtained prior to the purgePool call will be done synchronously (i.e. wait for the JDBC driver to come back before proceeding)
        6. Requests for new connections (not handles to existing old connections) will be honored.
        See Also:
        Constant Field Values
      • IMMEDIATE_PURGE

        static final java.lang.String IMMEDIATE_PURGE
        With the IMMEDIATE_PURGE option, the purged pool will behave as follows after the purge call:
        1. No new transactions will be allowed to start on any connections obtained prior to the purgePoolContents() call. Instead, a StaleConnectionException is thrown
        2. No new handles are allowed to be handed out on any connections obtained prior to the purgePoolContents() call. Instead, a StaleConnectionException is thrown
        3. Existing in-flight transactions will be allowed to continue work, any new activities on the purgedConnection will cause a StaleConnectionException or an XAER_FAIL exception
        4. close() calls issued on any connections obtained prior to the purgePoolContents() call will be done asynchronously (i.e. no wait time)
        5. Requests for new connections (i.e. not handles to existing old connections) will be honored.
        6. Number of connections will be decremented immediately. This may cause the total number of connections in Liberty to be, temporarily, out of sync with the database total number of connections
        See Also:
        Constant Field Values
    • Method Detail

      • getConnection

        java.sql.Connection getConnection​(JDBCConnectionSpec connSpec)
                                   throws java.sql.SQLException
        Requests a connection that matches the information provided in the JDBCConnectionSpec. The application can specify the catalog, cursor holdability, isReadOnly, network timeout, schema, transaction isolation level, and typeMap attributes, allowing for the underlying Connection to be shared based on the above criteria.
        Parameters:
        connSpec - information used to establish the Connection, such as user name, password, and type map. This value should never be null.
        Returns:
        the Connection
        Throws:
        java.sql.SQLException - if an error occurs while obtaining a Connection.
      • isXADataSource

        boolean isXADataSource()
        Indicates whether or not the underlying data source is an XADataSource, capable of two phase commit.
        Returns:
        true if the underlying data source is an XADataSource, capable of two phase commit, otherwise false.