Class BasicDataSourceFactory

  • All Implemented Interfaces:
    javax.naming.spi.ObjectFactory

    public class BasicDataSourceFactory
    extends java.lang.Object
    implements javax.naming.spi.ObjectFactory

    JNDI object factory that creates an instance of BasicDataSource that has been configured based on the RefAddr values of the specified Reference, which must match the names and data types of the BasicDataSource bean properties.

    Version:
    $Revision: 828639 $ $Date: 2009-10-22 06:27:43 -0400 (Thu, 22 Oct 2009) $
    • Field Detail

      • PROP_DEFAULTAUTOCOMMIT

        private static final java.lang.String PROP_DEFAULTAUTOCOMMIT
        See Also:
        Constant Field Values
      • PROP_DEFAULTREADONLY

        private static final java.lang.String PROP_DEFAULTREADONLY
        See Also:
        Constant Field Values
      • PROP_DEFAULTTRANSACTIONISOLATION

        private static final java.lang.String PROP_DEFAULTTRANSACTIONISOLATION
        See Also:
        Constant Field Values
      • PROP_DEFAULTCATALOG

        private static final java.lang.String PROP_DEFAULTCATALOG
        See Also:
        Constant Field Values
      • PROP_DRIVERCLASSNAME

        private static final java.lang.String PROP_DRIVERCLASSNAME
        See Also:
        Constant Field Values
      • PROP_INITIALSIZE

        private static final java.lang.String PROP_INITIALSIZE
        See Also:
        Constant Field Values
      • PROP_TESTONBORROW

        private static final java.lang.String PROP_TESTONBORROW
        See Also:
        Constant Field Values
      • PROP_TESTONRETURN

        private static final java.lang.String PROP_TESTONRETURN
        See Also:
        Constant Field Values
      • PROP_TIMEBETWEENEVICTIONRUNSMILLIS

        private static final java.lang.String PROP_TIMEBETWEENEVICTIONRUNSMILLIS
        See Also:
        Constant Field Values
      • PROP_NUMTESTSPEREVICTIONRUN

        private static final java.lang.String PROP_NUMTESTSPEREVICTIONRUN
        See Also:
        Constant Field Values
      • PROP_MINEVICTABLEIDLETIMEMILLIS

        private static final java.lang.String PROP_MINEVICTABLEIDLETIMEMILLIS
        See Also:
        Constant Field Values
      • PROP_TESTWHILEIDLE

        private static final java.lang.String PROP_TESTWHILEIDLE
        See Also:
        Constant Field Values
      • PROP_VALIDATIONQUERY

        private static final java.lang.String PROP_VALIDATIONQUERY
        See Also:
        Constant Field Values
      • PROP_VALIDATIONQUERY_TIMEOUT

        private static final java.lang.String PROP_VALIDATIONQUERY_TIMEOUT
        See Also:
        Constant Field Values
      • PROP_INITCONNECTIONSQLS

        private static final java.lang.String PROP_INITCONNECTIONSQLS
        The property name for initConnectionSqls. The associated value String must be of the form [query;]*
        Since:
        1.3
        See Also:
        Constant Field Values
      • PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWED

        private static final java.lang.String PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWED
        See Also:
        Constant Field Values
      • PROP_REMOVEABANDONED

        private static final java.lang.String PROP_REMOVEABANDONED
        See Also:
        Constant Field Values
      • PROP_REMOVEABANDONEDTIMEOUT

        private static final java.lang.String PROP_REMOVEABANDONEDTIMEOUT
        See Also:
        Constant Field Values
      • PROP_LOGABANDONED

        private static final java.lang.String PROP_LOGABANDONED
        See Also:
        Constant Field Values
      • PROP_POOLPREPAREDSTATEMENTS

        private static final java.lang.String PROP_POOLPREPAREDSTATEMENTS
        See Also:
        Constant Field Values
      • PROP_MAXOPENPREPAREDSTATEMENTS

        private static final java.lang.String PROP_MAXOPENPREPAREDSTATEMENTS
        See Also:
        Constant Field Values
      • PROP_CONNECTIONPROPERTIES

        private static final java.lang.String PROP_CONNECTIONPROPERTIES
        See Also:
        Constant Field Values
      • ALL_PROPERTIES

        private static final java.lang.String[] ALL_PROPERTIES
    • Constructor Detail

      • BasicDataSourceFactory

        public BasicDataSourceFactory()
    • Method Detail

      • getObjectInstance

        public java.lang.Object getObjectInstance​(java.lang.Object obj,
                                                  javax.naming.Name name,
                                                  javax.naming.Context nameCtx,
                                                  java.util.Hashtable environment)
                                           throws java.lang.Exception

        Create and return a new BasicDataSource instance. If no instance can be created, return null instead.

        Specified by:
        getObjectInstance in interface javax.naming.spi.ObjectFactory
        Parameters:
        obj - The possibly null object containing location or reference information that can be used in creating an object
        name - The name of this object relative to nameCtx
        nameCtx - The context relative to which the name parameter is specified, or null if name is relative to the default initial context
        environment - The possibly null environment that is used in creating this object
        Throws:
        java.lang.Exception - if an exception occurs creating the instance
      • createDataSource

        public static javax.sql.DataSource createDataSource​(java.util.Properties properties)
                                                     throws java.lang.Exception
        Creates and configures a BasicDataSource instance based on the given properties.
        Parameters:
        properties - the datasource configuration properties
        Throws:
        java.lang.Exception - if an error occurs creating the data source
      • getProperties

        private static java.util.Properties getProperties​(java.lang.String propText)
                                                   throws java.lang.Exception

        Parse properties from the string. Format of the string must be [propertyName=property;]*

        Parameters:
        propText -
        Returns:
        Properties
        Throws:
        java.lang.Exception