If you believe that the connection actually closes, but the profiler does not show it as closed, perhaps the connection is not closed via public method close() of Connection interface, thus the event cannot be caught by the built-in probe.

If you believe that the connection actually closes, but the profiler does not show it as closed, perhaps the connection is not closed via public method close() of Connection interface, thus the event cannot be caught by the built-in probe.

The object returned from that method is of a class which implements Connection interface. The method "void close()" has never been called for that instance, otherwise the connection would have been shown as closed.

OK, if you say that close() method has been called (at which stack?), the probe might have missed it if:- the particular Connection class's close() method has not been instrumented for some reason. What is the exact actual class of that connection instance? Can you send its class file?- the connection was closed via different method instead of the public interface method e.g. directly calling some implementation-specific closeImpl() or whatever.