Package ru.bgcrm.util.sql
Class ConnectionPool
java.lang.Object
ru.bgcrm.util.sql.ConnectionPool
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()booleancompareAndSetReplicationNotBehindMaster(String slaveId, boolean expected, boolean update) getConnectionSet(boolean autoCommit) final ConnectionВозвращает соединение с Master БД из пула.final ConnectionВозвращает соединение с Slave БД из пула.final ConnectionВозвращает соединение с Slave БД из пула.final ConnectiongetDBTrashConnectionFromPool(String tableName, int retType) Возвращает соединение с мусорной БД если она описана для таблицы в конфиге либо в зависимости от retType.final ConnectiongetDBTrashOrMasterConnectionFromPool(String tableName) Возвращение соединения к выделенной "мусорной" либо Master-базе (если треш-база не найдена).final ConnectiongetDBTrashOrSlaveConnectionFromPool(String tableName) Возвращение соединения к выделенной "мусорной" либо Slave-базеintintintintfloatВозвращает отношение числа активных соединений к максимально разрешённому числу соединений Мастер - БД.Отчет по статусу пулов соединенийintgetSlaveActive(String slaveId) Возвращает идентификаторы slave баз.final ConnectiongetSlaveConnectionFromPool(String poolId) Возвращает соединение с slave базой.final DataSourceintgetSlaveIdle(String slaveId) intgetSlaveMaxActive(String slaveId) intgetSlaveMaxIdle(String slaveId) Возвращает идентификаторы trash баз.final ConnectiongetTrashConnectionFromPool(String poolId) Возвращает соединение с trash базой.booleanisReplicationAvailable(String slaveId) Проверяет доступность Slave базыbooleanisReplicationNotBehindMaster(String slaveId) Проверяет есть ли отставание Slave базыvoidsetReplicationAvailable(String slaveId, boolean available) Установка/Отключение доступности Slave базыvoidsetReplicationNotBehindMaster(String slaveId, boolean isNotBehind) Включение/Отключение флага отставания Slave базы
-
Field Details
-
RETURN_NULL
public static final int RETURN_NULL- See Also:
-
RETURN_FAKE
public static final int RETURN_FAKE- See Also:
-
RETURN_SLAVE
public static final int RETURN_SLAVE- See Also:
-
RETURN_MASTER
public static final int RETURN_MASTER- See Also:
-
-
Constructor Details
-
ConnectionPool
-
-
Method Details
-
getDataSource
-
getConnectionSet
-
getConnectionSet
-
close
public void close() -
getDBConnectionFromPool
Возвращает соединение с Master БД из пула.- Returns:
- соединение с Master БД либо null в случае недоступности.
-
getSlaveDataSource
-
getDBSlaveConnectionFromPool
Возвращает соединение с Slave БД из пула. Если Slave БД не определены в конфигурации - возвращает из Master пула.- Returns:
-
getDBSlaveConnectionFromPool
Возвращает соединение с Slave БД из пула. Если Slave БД не определены в конфигурации - возвращает из Master пула.- Parameters:
masterOnNull- если false то при отсутсвии slave баз вернет null.- Returns:
-
getDBTrashConnectionFromPool
Возвращает соединение с мусорной БД если она описана для таблицы в конфиге либо в зависимости от retType.- Parameters:
tableName- имя таблицы.retType-RETURN_FAKE,RETURN_SLAVEлибоRETURN_MASTER.- Returns:
- если не указана конфигурация мусорной БД может быть возвращен коннект к мастер БД, фейковый коннект либо коннект Slave БД.
-
getDBTrashOrMasterConnectionFromPool
Возвращение соединения к выделенной "мусорной" либо Master-базе (если треш-база не найдена).- Parameters:
tableName-- Returns:
-
getDBTrashOrSlaveConnectionFromPool
Возвращение соединения к выделенной "мусорной" либо Slave-базе- Parameters:
tableName-- Returns:
-
getSlaveConnectionFromPool
Возвращает соединение с slave базой. если неверная база то null со всем вытекающим, так как применяется только при принудительном выборе базы в некоторых специфичных служебных случаях.- Parameters:
poolId- - ид базы- Returns:
- коннекшен
-
getSlaveBaseId
Возвращает идентификаторы slave баз.- Returns:
-
getTrashBaseId
Возвращает идентификаторы trash баз.- Returns:
-
getTrashConnectionFromPool
Возвращает соединение с trash базой. если неверная база то null со всем вытекающим, так как применяется только при принудительном выборе базы в некоторых специфичных служебных случаях.- Parameters:
poolId- - ид базы- Returns:
- коннекшен
-
getPoolStatus
Отчет по статусу пулов соединений- Returns:
-
getMasterActive
public int getMasterActive() -
getMasterMaxActive
public int getMasterMaxActive() -
getMasterIdle
public int getMasterIdle() -
getMasterMaxIdle
public int getMasterMaxIdle() -
getSlaveActive
-
getSlaveMaxActive
-
getSlaveIdle
-
getSlaveMaxIdle
-
getMasterPoolLoad
public float getMasterPoolLoad()Возвращает отношение числа активных соединений к максимально разрешённому числу соединений Мастер - БД.- Returns:
-
getPoolStackTrace
-
setReplicationNotBehindMaster
Включение/Отключение флага отставания Slave базы- Parameters:
slaveId- идентификатор Slave базыisNotBehind- true - отставание выключено, false - отставание включено
-
isReplicationNotBehindMaster
Проверяет есть ли отставание Slave базы- Parameters:
slaveId- идентификатор Slave базы- Returns:
-
compareAndSetReplicationNotBehindMaster
public boolean compareAndSetReplicationNotBehindMaster(String slaveId, boolean expected, boolean update) -
isReplicationAvailable
Проверяет доступность Slave базы- Parameters:
slaveId- идентификатор Slave базы- Returns:
- true - если доступна, false - если не доступна
-
setReplicationAvailable
Установка/Отключение доступности Slave базы- Parameters:
slaveId- идентификатор Slave базыavailable- true -не доступно; false - доступно
-