code: @Override
      public final void destroy()
      {
          synchronized (this.connectionMonitor)
          {
              if (this.connection != null)
              {
                  this.connection.destroy();
                  this.connection = null;
              }
          }
          reset();
      }
docs: Close the underlying shared connection. The provider of this ConnectionFactory needs to care for proper shutdown.
  <p>
  As this bean implements DisposableBean, a bean factory will automatically invoke this on destruction of its
  cached singletons.