I haven't run this against the JBOSS TM QA tests yet, but at this point, it's passing all the tests we have (including the race-condition tests for close() logic) that we have.

Epic brain-farts on this.

1.) Use the management lock when closing. DUH. (it's like I haven't slept much recently)
2.) check the underlying connection state when associating.
    * If a management lock was grabbed to close the connection, and the connection -is- closed by that thread,
    * The thread invoking associate() may have _just_ unblocked (acquired the lock) and the conneciton may actually be closed between the attempt to acquire the lock and the time it's granted.

Fixing that seems to have greatly shorn up the close() behavior. I haven't observed any failed close() or race-issues with associating to closed connections.

In fact, it exposed some rather serious 'bugs' in the way the pooling test was written. Huzzah!