Класс yii\mutex\OracleMutex
| Наследование | yii\mutex\OracleMutex » yii\mutex\DbMutex » yii\mutex\Mutex » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0.10 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/mutex/OracleMutex.php |
OracleMutex реализует механизм блокировки "замка" с помощью блокировок Oracle.
Пример конфигурации приложения:
[
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'oci:dbname=LOCAL_XE',
...
]
'mutex' => [
'class' => 'yii\mutex\OracleMutex',
'lockMode' => 'NL_MODE',
'releaseOnCommit' => true,
...
],
],
]
См. также:
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $autoRelease | boolean | Указывает, должны ли все блокировки, полученные в этом процессе (т. е. локальные блокировки), быть автоматически освобождены перед завершением выполнения скрипта. | yii\mutex\Mutex |
| $behaviors | yii\base\Behavior[] | Список поведений, прикрепленных к этому компоненту | yii\base\Component |
| $db | yii\db\Connection|array|string | Объект подключения к базе данных или идентификатор компонента приложения для подключения к базе данных. | yii\mutex\DbMutex |
| $lockMode | string | Режим блокировки, который будет использоваться. | yii\mutex\OracleMutex |
| $releaseOnCommit | boolean | Освободить ли блокировку при подтверждении транзакции. | yii\mutex\OracleMutex |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т. е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| acquire() | Получает блокировку по имени. | yii\mutex\Mutex |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, которые должен иметь этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует реализацию компонента блокировки Oracle. | yii\mutex\OracleMutex |
| off() | Открепляет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| release() | Освобождает полученную блокировку. Этот метод вернет false, если блокировка не найдена. | yii\mutex\Mutex |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| acquireLock() | Получает блокировку по заданному имени. | yii\mutex\OracleMutex |
| releaseLock() | Освобождает блокировку по заданному имени. | yii\mutex\OracleMutex |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| MODE_NL | 'NL_MODE' | yii\mutex\OracleMutex | |
| MODE_S | 'S_MODE' | yii\mutex\OracleMutex | |
| MODE_SS | 'SS_MODE' | yii\mutex\OracleMutex | |
| MODE_SSX | 'SSX_MODE' | yii\mutex\OracleMutex | |
| MODE_SX | 'SX_MODE' | yii\mutex\OracleMutex | |
| MODE_X | 'X_MODE' | Доступные режимы блокировки | yii\mutex\OracleMutex |
Подробности о свойствах
$lockMode общедоступное свойство
Режим блокировки, который будет использоваться.
См. также http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm#CHDBCFDI.
public string $lockMode = self::MODE_X
$releaseOnCommit общедоступное свойство
Освободить ли блокировку при подтверждении транзакции.
public boolean $releaseOnCommit = false
Подробности о методах
acquireLock() защищённый метод
Получает блокировку по заданному имени.
См. также http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm.
| защищённый boolean acquireLock ( $name, $timeout = 0 ) | ||
|---|---|---|
| $name | string |
Имя блокировки. |
| $timeout | integer |
Время ожидания освобождения блокировки. |
| return | boolean |
Результат получения блокировки. |
init() публичный метод
Инициализирует реализацию компонента взаимного исключения Oracle.
| публичный void init ( ) | ||
|---|---|---|
| throws | yii\base\InvalidConfigException |
если подключение $db не к базе данных Oracle. |
releaseLock() защищённый метод
Освобождает блокировку по заданному имени.
См. также http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm.
| защищённый boolean releaseLock ( $name ) | ||
|---|---|---|
| $name | string |
Имя блокировки для освобождения. |
| return | boolean |
Результат освобождения. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mutex-oraclemutex.html