我想知道这两个API有什么区别。看起来setAssignee是细粒度的,而声称是粗粒度。这是唯一的区别吗?
答案 0 :(得分:1)
void claim(String taskId, String userId):
与setAssignee(String,String)的区别在于,如果任务>完成检查。已经有一个用户分配给它。无论用户是否为身份组件所知,都不会进行检查。
答案 1 :(得分:0)
看一下索赔的方法源代码,下面是摘录:
if (!task.getAssignee().equals(userId))
{
throw new ActivitiTaskAlreadyClaimedException(task.getId(), task.getAssignee());
}
else
{
task.setAssignee(userId);
}
commandContext.getHistoryManager().recordTaskClaim(taskId);
从上面可以明显看出,这是声明的额外做法: