Invalidates an object from the pool By contract,
obj MUST have been obtained using {@link #borrowObject borrowObject}or a related method as defined in an implementation or sub-interface using a
key that is equivalent to the one used to borrow the
Object in the first place.
This method should be used when an object that has been borrowed is determined (due to an exception or other problem) to be invalid. If the connection should be validated before or after borrowing, then the {@link PoolableObjectFactory#validateObject} method should beused instead.
@param obj a {@link #borrowObject borrowed} instance to be returned.