Uploaded image for project: 'Commons DBCP'
  1. Commons DBCP
  2. DBCP-252

Bugs found by Findbugs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.3
    • None

    Description

      ManagedConnection.java has (line 155)
      ================

      protected class CompletionListener implements TransactionContextListener {
      public void afterCompletion(TransactionContext transactionContext, boolean commited) {
      if (transactionContext == transactionContext)

      { transactionComplete(); }

      }
      }

      The transactionContext parameter is hiding the field transactionContext.
      The parameter should be renamed, as at present the comparison will always succeed.

      PoolingDriver:
      ===========
      the following fields should be final:
      _pools
      MAJOR_VERSION
      MINOR_VERSION
      URL_PREFIX
      URL_PREFIX_LEN
      In fact the last four should probably be private as well

      toString() should not return null

      CPDSConnectionFactory
      ===================
      setPool() is synch; getPool() is not. Either make both sync or make _pool volatile.
      setRollbackAfterValidation is synch, however the field it sets - _rollbackAfterValidation - is not read using synch.
      Either synch the read operation - or better here - drop the synch, and make the field volatile
      Same applies to setValidationQuery() and _validationQuery

      KeyedCPDSConnectionFactory
      ========================
      setRollbackAfterValidation is synch, however the field it sets - _rollbackAfterValidation - is not read using synch.
      Either synch the read operation - or better here - drop the synch, and make the field volatile
      Same applies to setValidationQuery() and _validationQuery

      PoolableConnectionFactory
      ======================
      setPool() is synch; getPool() is not. Either make both sync or make _pool volatile.

      Attachments

        Activity

          People

            Unassigned Unassigned
            sebb Sebb
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: