ru.bitel.bgbilling.server.util

## Class DefaultServerSetup

- java.lang.Object
- - ru.bitel.common.ParameterMap
  - - ru.bitel.common.Preferences
    - - ru.bitel.bgbilling.server.util.DefaultServerSetup

- Direct Known Subclasses:
    Setup

      public class DefaultServerSetup
      extends Preferences

  То же что и Preferences, только умеет работать с пулом соединений к базе.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ru.bitel.common.ParameterMap

      `ParameterMap.DefaultParameterMap`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `RETURN_FAKE`
    `static int` | `RETURN_MASTER`
    `static int` | `RETURN_NULL`
    `static int` | `RETURN_SLAVE`

    - ### Fields inherited from class ru.bitel.common.Preferences

      `bundleName, data`

    - ### Fields inherited from class ru.bitel.common.ParameterMap

      `mapPrint`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultServerSetup()`
    `DefaultServerSetup(java.lang.String bundleName)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkAndCreatePeriodicTableName(java.sql.Connection con, java.lang.String tableName, java.lang.String createQuery)` Функция берет имя таблицы(xxxx) из xxxx_mid_yyyyMM и создает ее
    `java.sql.Connection` | `getDBConnection()` Возвращает отдельное соединение с Master базой.
    `java.sql.Connection` | `getDBConnectionFromPool()` Возвращает соединение с Master БД из пула.
    `java.sql.Connection` | `getDBSlaveConnectionFromPool()` Возвращает соединение с Slave БД из пула.
    `java.sql.Connection` | `getDBSlaveConnectionFromPool(java.sql.Connection master)` Возвращает соединение с Slave БД из пула.
    `java.sql.Connection` | `getDBTrashConnectionFromPool(java.lang.String tableName, int retType)` Возвращает соединение с мусорной БД если она описана для таблицы в конфиге либо в зависимости от retType.
    `java.sql.Connection` | `getDBTrashOrMasterConnectionFromPool(java.lang.String tableName)` Возвращение соединения к выделенной "мусорной" либо Master-базе (если треш-база не найдена).
    `java.sql.Connection` | `getDBTrashOrSlaveConnectionFromPool(java.lang.String tableName)` Возвращение соединения к выделенной "мусорной" либо Slave-базе
    `static javax.naming.Context` | `getEnvironment()`
    `float` | `getMasterPoolLoad()` Возвращает отношение числа активных соединений к максимально разрешённому числу соединений Мастер - БД.
    `java.lang.String` | `getPoolStackTrace()`
    `java.lang.String` | `getPoolStatus()` Отчет по статусу пулов соединений
    `java.util.concurrent.ScheduledExecutorService` | `getScheduledExecutorService()`
    `java.util.Set<java.lang.String>` | `getSlaveBaseId()` Возвращает идентификаторы slave баз.
    `java.sql.Connection` | `getSlaveConnectionFromPool(java.lang.String poolId)` Возвращает соединение с slave базой.
    `java.util.Set<java.lang.String>` | `getTrashBaseId()` Возвращает идентификаторы trash баз.
    `java.sql.Connection` | `getTrashConnectionFromPool(java.lang.String poolId)` Возвращает соединение с trash базой.
    `boolean` | `initConnectionPool()` Инициализация пулов соединений с мастер и slave базами.
    `void` | `initJNDI()`
    `void` | `initMQ()`
    `protected void` | `initTrashPoolsAndCreateTableOptions()` Инициализация пулов соединений к "мусорным" базам.
    `boolean` | `isReplicationAvailable(java.lang.String slaveId)` Проверяет доступность Slave базы
    `boolean` | `isReplicationEnabled(java.lang.String slaveId)` Deprecated.
    `boolean` | `isReplicationNotBehindMaster(java.lang.String slaveId)` Проверяет есть ли отставание Slave базы
    `void` | `logConfigure(java.lang.String log)`
    `void` | `returnConToPool(java.sql.Connection con)` Deprecated.
    `void` | `setReplicationAvailable(java.lang.String slaveId, boolean available)` Установка/Отключение доступности Slave базы
    `void` | `setReplicationEnabled(java.lang.String slaveId, boolean enable)` Deprecated.
    `void` | `setReplicationNotBehindMaster(java.lang.String slaveId, boolean isNotBehind)` Включение/Отключение флага отставания Slave базы

    - ### Methods inherited from class ru.bitel.common.Preferences

      `entrySet, get, getObject, getObject, getOrderedValues, loadBundle, loadData, loadDataEntry, loadModuleSetup, parseObjects, parseObjectsNoOrder, putObject, removeObject, set, updateData`

    - ### Methods inherited from class ru.bitel.common.ParameterMap

      `addActionListener, fingerprint, get, getBigDecimal, getBoolean, getDouble, getFloat, getInt, getIntegerList, getLong, inherit, sub, subIndexed, subKeyed, throwActionEvent, toReference, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### RETURN_NULL

          public static final int RETURN_NULL

      See Also:
        Constant Field Values

    - #### RETURN_FAKE

          public static final int RETURN_FAKE

      See Also:
        Constant Field Values

    - #### RETURN_SLAVE

          public static final int RETURN_SLAVE

      See Also:
        Constant Field Values

    - #### RETURN_MASTER

          public static final int RETURN_MASTER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DefaultServerSetup

          public DefaultServerSetup(java.lang.String bundleName)

    - #### DefaultServerSetup

          public DefaultServerSetup()

  - ### Method Detail

    - #### isReplicationEnabled

          @Deprecated
          public boolean isReplicationEnabled(java.lang.String slaveId)

      Deprecated.
      Использовать `isReplicationNotBehindMaster(String)`
      Parameters:
        `slaveId` -
      Returns:

    - #### setReplicationEnabled

          @Deprecated
          public void setReplicationEnabled(java.lang.String slaveId,
                                                        boolean enable)

      Deprecated.
      Использовать `setReplicationNotBehindMaster(String, boolean)`
      Parameters:
        `slaveId` -
        `enable` -

    - #### setReplicationNotBehindMaster

          public void setReplicationNotBehindMaster(java.lang.String slaveId,
                                                    boolean isNotBehind)

      Включение/Отключение флага отставания Slave базы
      Parameters:
        `slaveId` - идентификатор Slave базы
        `isNotBehind` - true - отставание выключено, false - отставание включено

    - #### isReplicationNotBehindMaster

          public boolean isReplicationNotBehindMaster(java.lang.String slaveId)

      Проверяет есть ли отставание Slave базы
      Parameters:
        `slaveId` - идентификатор Slave базы
      Returns:

    - #### isReplicationAvailable

          public boolean isReplicationAvailable(java.lang.String slaveId)

      Проверяет доступность Slave базы
      Parameters:
        `slaveId` - идентификатор Slave базы
      Returns:
        true - если доступна, false - если не доступна

    - #### setReplicationAvailable

          public void setReplicationAvailable(java.lang.String slaveId,
                                              boolean available)

      Установка/Отключение доступности Slave базы
      Parameters:
        `slaveId` - идентификатор Slave базы
        `available` - true -не доступно; false - доступно

    - #### getScheduledExecutorService

          public java.util.concurrent.ScheduledExecutorService getScheduledExecutorService()

    - #### initConnectionPool

          public boolean initConnectionPool()

      Инициализация пулов соединений с мастер и slave базами.

    - #### initTrashPoolsAndCreateTableOptions

          protected void initTrashPoolsAndCreateTableOptions()

      Инициализация пулов соединений к "мусорным" базам. Загрузка опций создания таблиц.

    - #### initJNDI

          public void initJNDI()

    - #### getEnvironment

          public static javax.naming.Context getEnvironment()
                                                     throws javax.naming.NamingException

      Throws:
        `javax.naming.NamingException`

    - #### initMQ

          public void initMQ()

    - #### getDBConnectionFromPool

          public final java.sql.Connection getDBConnectionFromPool()

      Возвращает соединение с Master БД из пула.
      Returns:
        соединение с Master БД либо null в случае недоступности.

    - #### getDBSlaveConnectionFromPool

          public final java.sql.Connection getDBSlaveConnectionFromPool()

      Возвращает соединение с Slave БД из пула. Если Slave БД не определены в конфигурации - возвращает из Master пула.
      Returns:

    - #### getDBSlaveConnectionFromPool

          public final java.sql.Connection getDBSlaveConnectionFromPool(java.sql.Connection master)

      Возвращает соединение с Slave БД из пула. Если Slave БД не определены в конфигурации - возвращает из Master пула.
      Parameters:
        `masterOnNull` - если false то при отсутсвии slave баз вернет null.
      Returns:

    - #### getDBTrashConnectionFromPool

          public final java.sql.Connection getDBTrashConnectionFromPool(java.lang.String tableName,
                                                                        int retType)

      Возвращает соединение с мусорной БД если она описана для таблицы в конфиге либо в зависимости от retType.
      Parameters:
        `tableName` - имя таблицы.
        `retType` - `RETURN_FAKE`, `RETURN_SLAVE` либо `RETURN_MASTER`.
      Returns:
        если не указана конфигурация мусорной БД может быть возвращен коннект к мастер БД, фейковый коннект либо коннект Slave БД.

    - #### getDBTrashOrMasterConnectionFromPool

          public final java.sql.Connection getDBTrashOrMasterConnectionFromPool(java.lang.String tableName)

      Возвращение соединения к выделенной "мусорной" либо Master-базе (если треш-база не найдена).
      Parameters:
        `tableName` -
      Returns:

    - #### getDBTrashOrSlaveConnectionFromPool

          public final java.sql.Connection getDBTrashOrSlaveConnectionFromPool(java.lang.String tableName)

      Возвращение соединения к выделенной "мусорной" либо Slave-базе
      Parameters:
        `tableName` -
      Returns:

    - #### getSlaveConnectionFromPool

          public final java.sql.Connection getSlaveConnectionFromPool(java.lang.String poolId)

      Возвращает соединение с slave базой. если неверная база то null со всем вытекающим, так как применяется только при принудительном выборе базы в некоторых специфичных служебных случаях.
      Parameters:
        `poolId` - - ид базы
      Returns:
        коннекшен

    - #### getSlaveBaseId

          public final java.util.Set<java.lang.String> getSlaveBaseId()

      Возвращает идентификаторы slave баз.
      Returns:

    - #### getTrashBaseId

          public final java.util.Set<java.lang.String> getTrashBaseId()

      Возвращает идентификаторы trash баз.
      Returns:

    - #### getTrashConnectionFromPool

          public final java.sql.Connection getTrashConnectionFromPool(java.lang.String poolId)

      Возвращает соединение с trash базой. если неверная база то null со всем вытекающим, так как применяется только при принудительном выборе базы в некоторых специфичных служебных случаях.
      Parameters:
        `poolId` - - ид базы
      Returns:
        коннекшен

    - #### returnConToPool

          @Deprecated
          public final void returnConToPool(java.sql.Connection con)

      Deprecated.
      Возвращает соединение с БД в пул.
      Parameters:
        `con` -
      See Also:
        `Utils#closeConnection(Connection)}`

    - #### getPoolStatus

          public java.lang.String getPoolStatus()

      Отчет по статусу пулов соединений
      Returns:

    - #### getMasterPoolLoad

          public float getMasterPoolLoad()

      Возвращает отношение числа активных соединений к максимально разрешённому числу соединений Мастер - БД.
      Returns:

    - #### getPoolStackTrace

          public java.lang.String getPoolStackTrace()

    - #### getDBConnection

          public java.sql.Connection getDBConnection()

      Возвращает отдельное соединение с Master базой.
      Returns:

    - #### logConfigure

          public void logConfigure(java.lang.String log)

    - #### checkAndCreatePeriodicTableName

          public void checkAndCreatePeriodicTableName(java.sql.Connection con,
                                                      java.lang.String tableName,
                                                      java.lang.String createQuery)

      Функция берет имя таблицы(xxxx) из xxxx_mid_yyyyMM и создает ее
      Parameters:
        `con` -
        `tableName` -
        `createQuery` -