Class yii\mutex\OracleMutex
OracleMutex implements mutex "lock" mechanism via Oracle locks.
Application configuration example:
[
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'oci:dbname=LOCAL_XE',
             ...
        ]
        'mutex' => [
            'class' => 'yii\mutex\OracleMutex',
            'lockMode' => 'NL_MODE',
            'releaseOnCommit' => true,
             ...
        ],
    ],
]
参见:
公共属性
| 属性 | 类型 | 描述 | 被定义在 | 
|---|---|---|---|
| $autoRelease | boolean | Whether all locks acquired in this process (i.e. local locks) must be released automatically before finishing script execution. | yii\mutex\Mutex | 
| $behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component | 
| $db | yii\db\Connection|array|string | 数据库连接对象或数据库连接的应用程序组件ID。 创建 Mutex 对象后,如果要更改此属性, 则只应为其分配一个数据库连接对象。 从版本 2. | yii\mutex\DbMutex | 
| $lockMode | string | Lock mode to be used. | yii\mutex\OracleMutex | 
| $releaseOnCommit | boolean | Whether to release lock on commit. | yii\mutex\OracleMutex | 
公共方法
| 方法 | 描述 | 被定义在 | 
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\Component | 
| __clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component | 
| __construct() | Constructor. | yii\base\BaseObject | 
| __get() | Returns the value of a component property. | yii\base\Component | 
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component | 
| __set() | Sets the value of a component property. | yii\base\Component | 
| __unset() | Sets a component property to be null. | yii\base\Component | 
| acquire() | Acquires a lock by name. | yii\mutex\Mutex | 
| attachBehavior() | Attaches a behavior to this component. | yii\base\Component | 
| attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component | 
| behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component | 
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component | 
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component | 
| className() | Returns the fully qualified name of this class. | yii\base\BaseObject | 
| detachBehavior() | Detaches a behavior from the component. | yii\base\Component | 
| detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component | 
| ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component | 
| getBehavior() | Returns the named behavior object. | yii\base\Component | 
| getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component | 
| hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component | 
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component | 
| hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component | 
| init() | Initializes Oracle specific mutex component implementation. | yii\mutex\OracleMutex | 
| off() | Detaches an existing event handler from this component. | yii\base\Component | 
| on() | Attaches an event handler to an event. | yii\base\Component | 
| release() | Releases acquired lock. This method will return false in case the lock was not found. | yii\mutex\Mutex | 
| trigger() | Triggers an event. | yii\base\Component | 
受保护的方法
| 方法 | 描述 | 被定义在 | 
|---|---|---|
| acquireLock() | Acquires lock by given name. | yii\mutex\OracleMutex | 
| releaseLock() | Releases lock by given name. | 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' | Available lock modes | yii\mutex\OracleMutex | 
属性详情
Lock mode to be used.
参见 http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm#CHDBCFDI.
Whether to release lock on commit.
方法详情
Acquires lock by given name.
参见 http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm.
| protected boolean acquireLock($name, $timeout = 0) | ||
| $name | string | Of the lock to be acquired. | 
| $timeout | integer | Time (in seconds) to wait for lock to become released. | 
| return | boolean | Acquiring result. | 
|---|---|---|
Initializes Oracle specific mutex component implementation.
| public void init() | ||
| throws | yii\base\InvalidConfigException | if $db is not Oracle connection. | 
|---|---|---|
Releases lock by given name.
参见 http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lock.htm.
| protected boolean releaseLock($name) | ||
| $name | string | Of the lock to be released. | 
| return | boolean | Release result. | 
|---|---|---|