intra-mart Accel Platform / Script研制模式编程指南

«  Job Scheduler   ::   Contents   ::   Cache 服务  »

Lock服务

Lock定义

Lock服务是指在 intra-mart 全系统中进行唯一锁定的功能。
要停止使用某种特定功能时,或希望进行串联处理时,应使用该服务。

注解

关于锁定状况,可以通过[系统管理员] - [系统锁定一览表]页面进行确认。
详细内容请参阅《系统管理员操作指南》。

示例程序

锁定生效后,执行处理逻辑,最后解锁,这一系列操作应按如下方式实现。
(在此样例程序中,5秒内锁定未生效则抛出异常。)
// 开始锁定
var lockId = "lock_key";
if (!NewLock.tryLock(lockId, 5)) {
    // 开始锁定失败
    return false;
}

//处理逻辑


//解除锁定
if (!NewLock.unlock(lockId)) {
    // 解除锁定失败
    return false;
}

与请求关联的锁定

要开始与请求关联的锁定时,请使用如下方法。
NewLock.tryLockRequestScope(lockId, 5);
使用该函数开始的锁定,在返回应答时被自动解除。
此外,也可以使用unlock()函数,在任意时间解除锁定。
要防止遗漏锁定解除,请使用该函数开始锁定。

警告

此函数只能自动解除与请求关联的锁定,
在异步任务与 Job Scheduler中执行的作业处理中不能使用。

«  Job Scheduler   ::   Contents   ::   Cache 服务  »