首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >锁定节点的LockService或JobLockService

锁定节点的LockService或JobLockService
EN

Stack Overflow用户
提问于 2011-07-27 14:04:36
回答 1查看 842关注 0票数 2

在户外,LockService和JobLockService有什么不同?如果我有一个节点已经存在,代表创建的其他节点的顺序,并且该节点必须在getNextSequence()之前锁定,那么我可以在哪里使用它们?

举个例子:

代码语言:javascript
复制
Node sequenceNode = getSequenceNode();
LockService(sequenceNode);
Node aNode = new Node(new NodeRef(...));
Map<QName,serialzable> props = new HashMap<QName,Serializable>();
props.put(...,sequenceNode.getNextSequence()); 
nodeService.setProperty(..,..,..,props);

现在,知道sequenceNode不能被alfresco web客户端编辑,只会被这行代码编辑,LockService就足够了吗?

非常感谢您的回复。穆罕默德·阿姆鲁高级系统开发人员数字系列公司。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-29 15:59:49

tl;dr:使用LockService并快乐,在这种情况下它对你来说已经足够了。

LockService用于获取特定节点上的锁,而JobLockService用于处理特定任务的并发。更确切地说:

  • 只要您想独占访问特定节点或一组节点,就可以使用LockService。您必须指定要锁定的节点和要应用的type of lock。此服务处理的锁不绑定到特定节点,并由QNames标识。因此,JobLockService不会阻止任何节点被访问或修改,而是会禁止其他线程或外部应用程序执行相同的任务(前提是它们首先尝试获取相同的锁)。假设您有几个访问存储库的远程系统。

允许您在整个系统网络上强制执行相同的任务。

如果我正确理解了您的问题,您有一个包含序列号或类似内容的节点,并且您需要getNextSequence能够可靠地提供下一个标识符。虽然在这里您可以同时使用这两个服务,但由于关键操作实际上绑定到单个节点(持有序列的那个节点),因此我在这里更倾向于使用LockService

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6840016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档