Class ConnectPool

java.lang.Object
xyz.cofe.sql.cpool.ConnectPool
All Implemented Interfaces:
java.lang.AutoCloseable, xyz.cofe.ecolls.GetReadLock, xyz.cofe.ecolls.GetWriteLock, xyz.cofe.ecolls.ReadWriteLockSupport

public class ConnectPool
extends java.lang.Object
implements xyz.cofe.ecolls.ReadWriteLockSupport, java.lang.AutoCloseable
Пул соединений c СУБД.

Задачи

  • Создание и регистрация соединений с СУБД
  • Создание proxy для соединений и запросов
  • Отслеживание активности соединений и запросов
  • Закрытие объектов по истичении времени при остутсвии активности
Author:
Kamnev Georgiy (nt.gocha@gmail.com)
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.util.concurrent.LinkedBlockingQueue<DataEvent> eventQueue  
    protected DataEventSupport eventSupport  
    protected java.util.WeakHashMap<javax.sql.DataSource,​ConnectOptions> options  
    protected xyz.cofe.collection.EventList<ConnectionPoolService> services  
    protected java.util.WeakHashMap<java.sql.Statement,​java.lang.Long> statementCreateTime  
    protected java.util.WeakHashMap<java.sql.Statement,​java.sql.Connection> statements  
  • Constructor Summary

    Constructors 
    Constructor Description
    ConnectPool()
    Конструктор по умолчанию
    ConnectPool​(ConnectionPoolService... services)
    Конструктор
  • Method Summary

    Modifier and Type Method Description
    InvokeActivityStat activityStatOf​(java.sql.CallableStatement stmt)
    Возвращает статистику активности запроса
    InvokeActivityStat activityStatOf​(java.sql.Connection conn)
    Возвращает статистику активности соединения
    InvokeActivityStat activityStatOf​(java.sql.PreparedStatement stmt)
    Возвращает статистику активности запроса
    InvokeActivityStat activityStatOf​(java.sql.Statement stmt)
    Возвращает статистику активности запроса
    void addDataEvent​(DataEvent ev)  
    java.lang.AutoCloseable addDataEventListener​(DataEventListener ls)  
    java.lang.AutoCloseable addDataEventListener​(DataEventListener ls, boolean weak)  
    void cleanup​(java.sql.Connection conn)
    Удаляет ссылки и связанные объекты
    void close()
    Закрывает все объекты: statements, connections.
    void closeAllConnections​(boolean addEvents)
    Закрытие всех соединений с СУБД
    void closeAllStatements​(boolean addEvents)
    Закрытие всех запросов.
    void closeShared​(java.sql.Connection conn)
    Закрывает shared соединение с базой данных
    java.sql.Connection connect​(java.lang.String source)
    Устанавливает соединение с БД
    java.sql.Connection connect​(java.lang.String source, java.lang.String username, java.lang.String password)
    Устанавливает соединение с БД
    long createTimeOf​(java.sql.Connection conn)
    Возвращает время создания соединения
    protected void finalize()  
    void fireDataEvent​(DataEvent event)  
    void fireEventQueue()  
    java.util.Set<java.sql.Connection> getConnections()
    Возвращает соединения с СУБД.
    java.util.Set<java.sql.Connection> getConnections​(boolean autoCreateProxy)
    Возвращает соединения с СУБД
    java.util.Map<javax.sql.DataSource,​java.util.Set<java.sql.Connection>> getConnectionsMap()
    Возвращает карту источников данныи и их соединений.
    java.util.Map<javax.sql.DataSource,​java.util.Set<java.sql.Connection>> getConnectionsMap​(boolean autoCreateProxy)
    Возвращает карту источников данныи и их соединений
    DataEventListener[] getDataEventListeners()  
    ConnectOptions getDefaultOptions()
    Опции соединения с БД по умолчани.
    int getId()
    Возвращает идентификатор (в пределах экземпляра JVM) пула
    java.util.WeakHashMap<java.lang.Object,​InvokeActivityStat> getInvokeStats()  
    java.util.Set<java.sql.Connection> getOpenConnections​(boolean autoCreateProxy)
    Возвращает открытиые соединения с СУБД
    int getOpenConnectionsCount()
    Возвращает кол-во открытых соединений
    java.util.concurrent.locks.Lock getReadLock()  
    java.util.concurrent.locks.ReadWriteLock getReadWriteLock()  
    xyz.cofe.collection.EventList<ConnectionPoolService> getServices()
    Возвращает список сервисов (расширений) пула
    java.util.Set<java.sql.Connection> getSourceConnections()
    Возвращает соединения с СУБД.
    java.util.Map<javax.sql.DataSource,​java.util.Set<java.sql.Connection>> getSourceConnectionsMap()
    Возвращает карту источников данныи и их соединений.
    xyz.cofe.collection.EventMap<java.lang.String,​javax.sql.DataSource> getSources()
    Возвращает карту именнованных источников данных
    java.util.Set<java.sql.Statement> getStatements​(boolean autoCreateProxy)
    Возвращает текущий набор Statement (запросов)
    java.util.Map<java.sql.Connection,​java.util.Set<java.sql.Statement>> getStatementsMap​(boolean autoCreateProxy)
    Возвращает карту Соединение / Запрос
    java.util.Timer getTimer()
    Возвращает таймер обслуживающий задачи утилизации/освобождения ресурсов
    int getTotalConnectionsCount()
    Возвращает общее кол-во соединений с СУБД
    java.util.concurrent.locks.Lock getWriteLock()  
    boolean hasDataEventListener​(DataEventListener ls)  
    static java.util.List<ConnectPool> instances()
    Возвращает списиок доступных экземпляров
    boolean isProxy​(java.lang.Object conn)
    Проверяет что указанный объект является proxy
    boolean isShared​(java.sql.Connection conn)
    Проверяет является ли соединение shared
    boolean isSkipRegistered()
    Указывает пропускать уже зарегистрированные соединения или перезаписывать существующие.
    java.lang.String nameOf​(java.sql.Connection conn)
    Возвращает имя под которым зарегистрированно соединение с СУБД
    java.lang.String nameOf​(javax.sql.DataSource ds)
    Возвращает имя под которым зарегистрированн источник данных
    java.util.Set<java.lang.String> namesOf​(java.sql.Connection conn)
    Возвращает имя под которым зарегистрированно соединение с СУБД
    java.util.Set<java.lang.String> namesOf​(javax.sql.DataSource ds)
    Возвращает имя под которым зарегистрированн источник данных
    ConnectOptions optionsOf​(java.sql.Connection conn)
    Возвращает опции соединения для указанного коннекта
    ConnectOptions optionsOf​(java.sql.Statement st)
    Возвращает опции соединения для указанного запроса
    ConnectOptions optionsOf​(javax.sql.DataSource ds)
    Возвращает опции соединения с БД
    java.sql.Statement proxy​(java.lang.reflect.Method meth, java.sql.Connection conn, java.sql.Statement st)
    Создает proxy для Statement и добавляет StatementTracker
    java.sql.CallableStatement proxy​(java.sql.Connection conn, java.sql.CallableStatement st)
    Создает proxy для PreparedStatement и добавляет StatementTracker
    java.sql.PreparedStatement proxy​(java.sql.Connection conn, java.sql.PreparedStatement st)
    Создает proxy для PreparedStatement и добавляет StatementTracker
    java.sql.Statement proxy​(java.sql.Connection conn, java.sql.Statement st)
    Создает proxy для Statement и добавляет StatementTracker
    java.sql.Connection proxy​(java.sql.Connection conn, ConnectOptions copts)
    Создает (если еще не создан) proxy для соединения с БД
    GenericProxy.Builder proxyBuilder​(java.lang.reflect.Method meth, java.sql.Statement st)
    Создает строителя для Statment
    GenericProxy.Builder proxyBuilder​(java.sql.Statement st)
    Создает строителя для Statment на основе типа Statment
    void registerSource​(java.lang.String name, javax.sql.DataSource ds)
    Регистрирует источник данных
    void registerSource​(java.lang.String name, javax.sql.DataSource ds, ConnectOptions copt)
    Регистрирует источник данных.
    void registerStatement​(java.sql.Connection conn, java.sql.Statement st)
    Регистрация созданного запроса (Statement)
    void removeClosedConnections()
    Удаляет закрытые соединения из памяти
    void removeClosedConnections​(boolean addEvents)
    Удаляет закрытые соединения их памяти
    void removeClosedStatements()
    Удаляет закрытые запросы из памяти
    void removeClosedStatements​(boolean addEvents)
    Удаляет закрытые запросы из памяти
    void removeDataEventListener​(DataEventListener ls)  
    void setSkipRegistered​(boolean skipRegistered)
    Указывает пропускать уже зарегистрированные соединения или перезаписывать существующие.
    void shutdown()
    Закрывает все соединения в пуле
    void shutdown​(boolean addEvents)
    Закрытие всех запросов, соединений и остановка фоновых заданий.
    <T> T sourceOf​(java.lang.Class<? extends T> cls, T obj)
    Возвращает исходный объект для указанного proxy объекта
    java.sql.CallableStatement sourceOf​(java.sql.CallableStatement conn)
    Возвращает исходный объект для указанного proxy объекта
    java.sql.Connection sourceOf​(java.sql.Connection conn)
    Возвращает исходный объект для указанного proxy объекта
    java.sql.PreparedStatement sourceOf​(java.sql.PreparedStatement conn)
    Возвращает исходный объект для указанного proxy объекта
    java.sql.Statement sourceOf​(java.sql.Statement conn)
    Возвращает исходный объект для указанного proxy объекта

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface xyz.cofe.ecolls.ReadWriteLockSupport

    readLock, readLock, writeLock, writeLock
  • Field Details

  • Constructor Details

    • ConnectPool

      public ConnectPool()
      Конструктор по умолчанию
    • ConnectPool

      public ConnectPool​(ConnectionPoolService... services)
      Конструктор
      Parameters:
      services - сервисы расширения
  • Method Details

    • addDataEventListener

      public java.lang.AutoCloseable addDataEventListener​(DataEventListener ls, boolean weak)
    • addDataEventListener

      public java.lang.AutoCloseable addDataEventListener​(DataEventListener ls)
    • removeDataEventListener

      public void removeDataEventListener​(DataEventListener ls)
    • hasDataEventListener

      public boolean hasDataEventListener​(DataEventListener ls)
    • getDataEventListeners

      public DataEventListener[] getDataEventListeners()
    • fireDataEvent

      public void fireDataEvent​(DataEvent event)
    • addDataEvent

      public void addDataEvent​(DataEvent ev)
    • fireEventQueue

      public void fireEventQueue()
    • getId

      public int getId()
      Возвращает идентификатор (в пределах экземпляра JVM) пула
      Returns:
      идентификатор
    • getReadWriteLock

      public java.util.concurrent.locks.ReadWriteLock getReadWriteLock()
    • getReadLock

      public java.util.concurrent.locks.Lock getReadLock()
      Specified by:
      getReadLock in interface xyz.cofe.ecolls.GetReadLock
      Specified by:
      getReadLock in interface xyz.cofe.ecolls.ReadWriteLockSupport
    • getWriteLock

      public java.util.concurrent.locks.Lock getWriteLock()
      Specified by:
      getWriteLock in interface xyz.cofe.ecolls.GetWriteLock
      Specified by:
      getWriteLock in interface xyz.cofe.ecolls.ReadWriteLockSupport
    • instances

      public static java.util.List<ConnectPool> instances()
      Возвращает списиок доступных экземпляров
      Returns:
      список экземпляров
    • getServices

      public xyz.cofe.collection.EventList<ConnectionPoolService> getServices()
      Возвращает список сервисов (расширений) пула
      Returns:
      список сервисов
    • getTimer

      public java.util.Timer getTimer()
      Возвращает таймер обслуживающий задачи утилизации/освобождения ресурсов
      Returns:
      таймер
    • finalize

      protected void finalize() throws java.lang.Throwable
      Overrides:
      finalize in class java.lang.Object
      Throws:
      java.lang.Throwable
    • close

      public void close()
      Закрывает все объекты: statements, connections. Генерирует соответ сообщения.
      Specified by:
      close in interface java.lang.AutoCloseable
    • closeAllStatements

      public void closeAllStatements​(boolean addEvents)
      Закрытие всех запросов.
      Parameters:
      addEvents - true - Добавить сообщения в очередь.
    • closeShared

      public void closeShared​(java.sql.Connection conn) throws java.sql.SQLException
      Закрывает shared соединение с базой данных
      Parameters:
      conn - shared соединение с базой данных
      Throws:
      java.sql.SQLException - Ошибка при работе с БД
    • isShared

      public boolean isShared​(java.sql.Connection conn)
      Проверяет является ли соединение shared
      Parameters:
      conn - соединение с бд
      Returns:
      true - является shared соединением
    • closeAllConnections

      public void closeAllConnections​(boolean addEvents)
      Закрытие всех соединений с СУБД
      Parameters:
      addEvents - true - Добавить сообщения в очередь.
    • shutdown

      public void shutdown()
      Закрывает все соединения в пуле
    • shutdown

      public void shutdown​(boolean addEvents)
      Закрытие всех запросов, соединений и остановка фоновых заданий.
      Parameters:
      addEvents - true - Добавить сообщения в очередь.
    • getSources

      public xyz.cofe.collection.EventMap<java.lang.String,​javax.sql.DataSource> getSources()
      Возвращает карту именнованных источников данных
      Returns:
      источники данных
    • isSkipRegistered

      public boolean isSkipRegistered()
      Указывает пропускать уже зарегистрированные соединения или перезаписывать существующие.
      Returns:
      true - пропускать (по умолчанию)
      See Also:
      registerSource(java.lang.String, javax.sql.DataSource), registerSource(java.lang.String, javax.sql.DataSource, ConnectOptions)
    • setSkipRegistered

      public void setSkipRegistered​(boolean skipRegistered)
      Указывает пропускать уже зарегистрированные соединения или перезаписывать существующие.
      Parameters:
      skipRegistered - true - пропускать (по умолчанию)
      See Also:
      registerSource(java.lang.String, javax.sql.DataSource), registerSource(java.lang.String, javax.sql.DataSource, ConnectOptions)
    • registerSource

      public void registerSource​(java.lang.String name, javax.sql.DataSource ds)
      Регистрирует источник данных
      Parameters:
      name - Имя истоничка
      ds - Источник данных
      See Also:
      registerSource(java.lang.String, javax.sql.DataSource, ConnectOptions)
    • registerSource

      public void registerSource​(java.lang.String name, javax.sql.DataSource ds, ConnectOptions copt)
      Регистрирует источник данных.

      Если источник уже зарегистрирован и свойство skipRegistered = true, то новых источник не регистрируется.
      Если skipRegistered = false, то источник данных регистриуется (перетерая ранее зарегистрированный одноименный, если есть)

      Parameters:
      name - Имя истоничка
      ds - Источник данных
      copt - Опции соединения или null
    • namesOf

      public java.util.Set<java.lang.String> namesOf​(javax.sql.DataSource ds)
      Возвращает имя под которым зарегистрированн источник данных
      Parameters:
      ds - источник данных
      Returns:
      имена под которым зарегистрирован источник данных
    • nameOf

      public java.lang.String nameOf​(javax.sql.DataSource ds)
      Возвращает имя под которым зарегистрированн источник данных
      Parameters:
      ds - источник данных
      Returns:
      имя или null
    • namesOf

      public java.util.Set<java.lang.String> namesOf​(java.sql.Connection conn)
      Возвращает имя под которым зарегистрированно соединение с СУБД
      Parameters:
      conn - соединение с СУБД
      Returns:
      Имена под каторым зарегистрировано соединение
    • nameOf

      public java.lang.String nameOf​(java.sql.Connection conn)
      Возвращает имя под которым зарегистрированно соединение с СУБД
      Parameters:
      conn - соединение с СУБД
      Returns:
      Имя соединения или null
    • cleanup

      public void cleanup​(java.sql.Connection conn)
      Удаляет ссылки и связанные объекты
      Parameters:
      conn - Соединение
    • getConnections

      public java.util.Set<java.sql.Connection> getConnections​(boolean autoCreateProxy)
      Возвращает соединения с СУБД
      Parameters:
      autoCreateProxy - true - Автоматически создавать PROXY объект
      Returns:
      Соединения с СУБД
    • getSourceConnections

      public java.util.Set<java.sql.Connection> getSourceConnections()
      Возвращает соединения с СУБД.

      Аналогично: getConnections(false)

      Returns:
      соединения с СУБД
    • getConnections

      public java.util.Set<java.sql.Connection> getConnections()
      Возвращает соединения с СУБД.

      Аналогично: getConnections(true)

      Returns:
      соединения с СУБД
    • getConnectionsMap

      public java.util.Map<javax.sql.DataSource,​java.util.Set<java.sql.Connection>> getConnectionsMap​(boolean autoCreateProxy)
      Возвращает карту источников данныи и их соединений
      Parameters:
      autoCreateProxy - true - Автоматически создавать PROXY для соединений
      Returns:
      Карта Источник данных => Соединения созданные этим источником данных
    • getSourceConnectionsMap

      public java.util.Map<javax.sql.DataSource,​java.util.Set<java.sql.Connection>> getSourceConnectionsMap()
      Возвращает карту источников данныи и их соединений.

      Аналогично: getConnectionsMap(false)

      Returns:
      Карта Источник данных => Соединения созданные этим источником данных
    • getConnectionsMap

      public java.util.Map<javax.sql.DataSource,​java.util.Set<java.sql.Connection>> getConnectionsMap()
      Возвращает карту источников данныи и их соединений.

      Аналогично: getConnectionsMap(true)

      Returns:
      Карта Источник данных => Соединения созданные этим источником данных
    • getTotalConnectionsCount

      public int getTotalConnectionsCount()
      Возвращает общее кол-во соединений с СУБД
      Returns:
      Кол-во соединений с СУБД
    • getOpenConnections

      public java.util.Set<java.sql.Connection> getOpenConnections​(boolean autoCreateProxy)
      Возвращает открытиые соединения с СУБД
      Parameters:
      autoCreateProxy - true - автоматически создавать PROXY
      Returns:
      Открытые соединения с СУБД
    • getOpenConnectionsCount

      public int getOpenConnectionsCount()
      Возвращает кол-во открытых соединений
      Returns:
      кол-во открытых соединений
    • proxyBuilder

      public GenericProxy.Builder proxyBuilder​(java.lang.reflect.Method meth, java.sql.Statement st)
      Создает строителя для Statment
      Parameters:
      meth - Метод из Connection, который вызвал создание Statement
      st - Исходный Statement
      Returns:
      Строитель
      See Also:
      Connection.createStatement(int, int, int), Connection.prepareStatement(java.lang.String), Connection.prepareCall(java.lang.String)
    • proxyBuilder

      public GenericProxy.Builder proxyBuilder​(java.sql.Statement st)
      Создает строителя для Statment на основе типа Statment
      Parameters:
      st - Исходный Statement
      Returns:
      Строитель
      See Also:
      Statement, PreparedStatement, CallableStatement
    • proxy

      public java.sql.Statement proxy​(java.lang.reflect.Method meth, java.sql.Connection conn, java.sql.Statement st)
      Создает proxy для Statement и добавляет StatementTracker
      Parameters:
      meth - Метод из Connection, который вызвал создание Statement
      conn - Содение с БД
      st - Statement
      Returns:
      proxy
      See Also:
      proxyBuilder(java.lang.reflect.Method, java.sql.Statement), Connection.createStatement(int, int, int), Connection.prepareStatement(java.lang.String), Connection.prepareCall(java.lang.String)
    • proxy

      public java.sql.Statement proxy​(java.sql.Connection conn, java.sql.Statement st)
      Создает proxy для Statement и добавляет StatementTracker
      Parameters:
      conn - Содение с БД
      st - Statement
      Returns:
      proxy
      See Also:
      proxyBuilder(java.sql.Statement), StatementTracker, Connection.createStatement(int, int, int), Connection.prepareStatement(java.lang.String), Connection.prepareCall(java.lang.String)
    • proxy

      public java.sql.PreparedStatement proxy​(java.sql.Connection conn, java.sql.PreparedStatement st)
      Создает proxy для PreparedStatement и добавляет StatementTracker
      Parameters:
      conn - Содение с БД
      st - PreparedStatement
      Returns:
      proxy
      See Also:
      proxyBuilder(java.sql.Statement), StatementTracker
    • proxy

      public java.sql.CallableStatement proxy​(java.sql.Connection conn, java.sql.CallableStatement st)
      Создает proxy для PreparedStatement и добавляет StatementTracker
      Parameters:
      conn - Содение с БД
      st - CallableStatement
      Returns:
      proxy
      See Also:
      proxyBuilder(java.sql.Statement), StatementTracker
    • getStatements

      public java.util.Set<java.sql.Statement> getStatements​(boolean autoCreateProxy)
      Возвращает текущий набор Statement (запросов)
      Parameters:
      autoCreateProxy - true - автоматически создавать proxy и его возвращать, если еще не создан
      Returns:
      текущий набор запросов
    • getStatementsMap

      public java.util.Map<java.sql.Connection,​java.util.Set<java.sql.Statement>> getStatementsMap​(boolean autoCreateProxy)
      Возвращает карту Соединение / Запрос
      Parameters:
      autoCreateProxy - true - автоматически создавать proxy и его возвращать, если еще не создан
      Returns:
      Карта текущих запросов
    • registerStatement

      public void registerStatement​(java.sql.Connection conn, java.sql.Statement st)
      Регистрация созданного запроса (Statement)
      Parameters:
      conn - Соединение с БД
      st - Запрос
    • createTimeOf

      public long createTimeOf​(java.sql.Connection conn)
      Возвращает время создания соединения
      Parameters:
      conn - соединение
      Returns:
      время или -1
    • getDefaultOptions

      public ConnectOptions getDefaultOptions()
      Опции соединения с БД по умолчани.
      Returns:
      опции
    • getInvokeStats

      public java.util.WeakHashMap<java.lang.Object,​InvokeActivityStat> getInvokeStats()
    • activityStatOf

      public InvokeActivityStat activityStatOf​(java.sql.Connection conn)
      Возвращает статистику активности соединения
      Parameters:
      conn - соединение
      Returns:
      статистика
    • activityStatOf

      public InvokeActivityStat activityStatOf​(java.sql.Statement stmt)
      Возвращает статистику активности запроса
      Parameters:
      stmt - Запрос
      Returns:
      статистика
    • activityStatOf

      public InvokeActivityStat activityStatOf​(java.sql.PreparedStatement stmt)
      Возвращает статистику активности запроса
      Parameters:
      stmt - Запрос
      Returns:
      статистика
    • activityStatOf

      public InvokeActivityStat activityStatOf​(java.sql.CallableStatement stmt)
      Возвращает статистику активности запроса
      Parameters:
      stmt - Запрос
      Returns:
      статистика
    • optionsOf

      public ConnectOptions optionsOf​(javax.sql.DataSource ds)
      Возвращает опции соединения с БД
      Parameters:
      ds - Источник данных
      Returns:
      Опции
    • optionsOf

      public ConnectOptions optionsOf​(java.sql.Connection conn)
      Возвращает опции соединения для указанного коннекта
      Parameters:
      conn - коннект к БД
      Returns:
      опции
    • optionsOf

      public ConnectOptions optionsOf​(java.sql.Statement st)
      Возвращает опции соединения для указанного запроса
      Parameters:
      st - запрос
      Returns:
      опции
    • sourceOf

      public java.sql.Connection sourceOf​(java.sql.Connection conn)
      Возвращает исходный объект для указанного proxy объекта
      Parameters:
      conn - proxy объект
      Returns:
      исходный объект
    • sourceOf

      public java.sql.CallableStatement sourceOf​(java.sql.CallableStatement conn)
      Возвращает исходный объект для указанного proxy объекта
      Parameters:
      conn - proxy объект
      Returns:
      исходный объект
    • sourceOf

      public java.sql.Statement sourceOf​(java.sql.Statement conn)
      Возвращает исходный объект для указанного proxy объекта
      Parameters:
      conn - proxy объект
      Returns:
      исходный объект
    • sourceOf

      public java.sql.PreparedStatement sourceOf​(java.sql.PreparedStatement conn)
      Возвращает исходный объект для указанного proxy объекта
      Parameters:
      conn - proxy объект
      Returns:
      исходный объект
    • sourceOf

      public <T> T sourceOf​(java.lang.Class<? extends T> cls, T obj)
      Возвращает исходный объект для указанного proxy объекта
      Type Parameters:
      T - Интересующий тип объекта
      Parameters:
      cls - Тип интересующего объекта
      obj - proxy объект
      Returns:
      исходный объект
    • isProxy

      public boolean isProxy​(java.lang.Object conn)
      Проверяет что указанный объект является proxy
      Parameters:
      conn - проверяемый объект
      Returns:
      true - является Proxy
    • proxy

      public java.sql.Connection proxy​(java.sql.Connection conn, ConnectOptions copts)
      Создает (если еще не создан) proxy для соединения с БД
      Parameters:
      conn - Соединение с БД
      copts - Опции
      Returns:
      Proxy соединение
    • connect

      public java.sql.Connection connect​(java.lang.String source) throws java.sql.SQLException
      Устанавливает соединение с БД
      Parameters:
      source - имя соединения
      Returns:
      соединение с БД
      Throws:
      java.sql.SQLException - Ошибка SQL
    • connect

      public java.sql.Connection connect​(java.lang.String source, java.lang.String username, java.lang.String password) throws java.sql.SQLException
      Устанавливает соединение с БД
      Parameters:
      source - имя соединения
      username - Имя пользователя БД
      password - Пароль пользователя БД
      Returns:
      соединение с БД
      Throws:
      java.sql.SQLException - Ошибка SQL
    • removeClosedConnections

      public void removeClosedConnections()
      Удаляет закрытые соединения из памяти
    • removeClosedConnections

      public void removeClosedConnections​(boolean addEvents)
      Удаляет закрытые соединения их памяти
      Parameters:
      addEvents - true - добавляет событие в очередь
    • removeClosedStatements

      public void removeClosedStatements()
      Удаляет закрытые запросы из памяти
    • removeClosedStatements

      public void removeClosedStatements​(boolean addEvents)
      Удаляет закрытые запросы из памяти
      Parameters:
      addEvents - true - добавляет событие в очередь