Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3
    • Labels:
      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.

        Activity

        Hide
        Phil Steitz added a comment -

        Fixed all identified issues other than the PoolingDriver complaints which would require backward-incompatible changes.

        Show
        Phil Steitz added a comment - Fixed all identified issues other than the PoolingDriver complaints which would require backward-incompatible changes.

          People

          • Assignee:
            Unassigned
            Reporter:
            Sebb
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development