DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=35235>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=35235

           Summary: Improved usage of Commons DBCP Connection-pooling in
                    JDBCStore
           Product: Slide
           Version: Nightly
          Platform: All
               URL: http://www.mail-archive.com/slide-
                    [EMAIL PROTECTED]/msg14580.html
        OS/Version: All
            Status: NEW
          Keywords: PatchAvailable
          Severity: normal
          Priority: P2
         Component: Stores
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


Attached patch will extend the JDBCStore configuration possibilities
to allow setting of all (arbitrary in fact) Commons DBCP configuration
properties and to pass properties directly to the underlying JDBC-driver.

This patch addresses the following issues:


 1. Cannot set (or control usage of) the DBCP connection validation query


    After applying the patch, any DBCP properties like validationQuery,
    testOnBorrow, testWhileIdle, can be set in the Slide domain configuration
    with a "dbcp." prefix.


    Example nodestore config for Oracle:


        <parameter name="dbcpPooling">true</parameter>
        <parameter name="dbcp.maxWait">5000</parameter>
        <parameter name="dbcp.maxActive">50</parameter>
        <parameter name="dbcp.maxIdle">25</parameter>
        <parameter name="dbcp.validationQuery">SELECT 1 FROM DUAL</parameter>
        <parameter name="dbcp.testOnBorrow">true</parameter>
        <parameter name="dbcp.testOnReturn">false</parameter>
        <parameter name="dbcp.testWhileIdle">false</parameter>



 2. Cannot pass properties to the JDBC-driver


    (With MySQL it was previously possible, but not all drivers support
    extending the JDBC URL with ?property=value. Oracle for one does not.)


    After applying the patch, it is now possible to pass a list of JDBC-driver
    properties from the Slide domain configuration through the
    "dbcp.connectionProperties" setting. The format is semicolon separated,
    eg "defaultRowPrefetch=30;disableDefineColumnType=true" for setting
    Oracle row-prefetching to 30 rows per server rountrip and switching to
    the Oracle-recommended default of disableDefineColumnType=true for
    the Oracle 10 JDBC thin-driver.



 3. Shutting down the Slide JDBCStore does not shutdown DBCP pool


    After applying the patch, the DBCP pool will be decommisioned on
    the disconnect() call on a clean Slide exit (it can be reconnected
    by calling connect() and the isConnected semantics is updated
    so that connectIfNeeded will call connect() if the pool is down).



 4. Synchronization issue when using DBCP in multiple JDBCStore-
    instances within a Domain


    Naming the DBCP connection pool with System.identityHashCode is not
    guaranteed to be unique withing the Domain.


    After applying the patch, the JDBCStore will use the DBPC
    BasicDataSource with a Store-local (protected instance var)
    reference and it will be guaranteed that each Store instance
    uses a unique DBCP DataSource/pool instance.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to