intra-mart Accel Platform 脚本开发模式编程指南 第16版2020-04-01

锁定

什么是锁

锁定服务是一种在整个intra-mart系统上执行唯一锁定的功能。
当您要禁用特定功能或序列化处理时,请使用此选项。

注解

您可以从[ 系统管理员 ]-[ 应用程序锁 一览表 ]屏幕检查应用程序锁使用状态。
详细内容 ,请参阅《 系统管理员操作指南》。

样例程序

启动锁后,执行处理逻辑,如果实现如下,最后释放锁。
(在此示例中,如果无法在5秒钟内启动锁定,则会引发异常。)
//开始锁
变种 lockId = “ lock_key”;
如果 新锁tryLocklockId 5)) {
    //锁定启动失败
    归还 false;
}

//处理逻辑


//释放锁
如果 新锁解锁lockId)) {
    //无法释放锁
    归还 false;
}

注解

如果要在具有虚拟Tenant的多租户环境中锁定每个租户,请使用每个租户的唯一ID进行锁定,例如在“ lockId”中包含租户ID。

与请求关联的锁

要启动与请求关联的锁,请使用以下方法。
新锁tryLockRequestScopelockId 5);
返回响应时,使用此函数启动的锁将自动释放。
也可以使用unlock() 函数随时将其释放。
当您要防止丢失锁时,请使用此函数启动锁。

注意

由于此函数将锁与请求关联并自动释放,因此异步任务和
它不能在Job scheduler执行的作业处理中使用。