【问题标题】:Activiti multi-instance doesn't assign the usersActiviti多实例不分配用户
【发布时间】:2013-03-08 03:19:36
【问题描述】:

我正在尝试设置多实例子进程,它创建了正确数量的进程,但它没有分配给无。

我使用一个 java 服务任务来获取所有用户

public class ListUsers implements JavaDelegate {

@Override
public void execute(DelegateExecution execution) throws Exception {
    String group = (String) execution.getVariable("group");
    List<User> lista = execution.getEngineServices().getIdentityService().createUserQuery().memberOfGroup(group).list();
    List<String> usuarios  = new ArrayList<>();
    for (User user : lista) {
        usuarios.add(user.getId());
    }
    execution.setVariable("listaUsuarios", usuarios);
    execution.setVariable("listaUsuariosSize", usuarios.size());
}

}

我的多实例定义

<subProcess id="subprocessConfirmacaoPresencaReuniao" name="Confirmação de Presença na Reuniao">
  <multiInstanceLoopCharacteristics isSequential="false">
    <loopDataInputRef>listaUsuarios</loopDataInputRef>
    <inputDataItem name="assignee" />
  </multiInstanceLoopCharacteristics>
  <startEvent id="starteventConfirmacaoPresencaReuniao" name="Start"></startEvent>
  <userTask id="confirmarPresenca" name="Confirmar Presença"></userTask>
</subProcess>

我在组中有 4 个用户,它正确启动了 4 个进程,但它没有分配给用户。

Variables

NAME VALUE
group consuni
listaUsuarios [admin, cleo, fozzie, kermit]
listaUsuariosSize 4

我做错了什么吗?我正在使用 Activiti 5.11。

【问题讨论】:

  • 可能是我误解了,但您试图将子进程分配给用户?提供您使用“受让人”变量的代码
  • @ATMTA 好吧我不使用这个变量,不应该是multiInstanceLoop自动赋值吗?我想这是我做错的地方
  • Activiti 并没有那么聪明地自动分配任务,因此您应该使用 userTask 元素的 activiti:assignee="${assignee}" 属性显式设置受让人。顺便说一句,如果您仅将 subprocess 用于多实例活动,最好将 移动到 并删除 subprocess 元素
  • @ATMTA 你是对的!请将其发布为答案,以便我接受。谢谢

标签: activiti


【解决方案1】:

      您应该使用userTask 元素的activiti:assignee="${assignee}" 属性显式设置受理人。顺便说一句,如果您仅将子流程用于多实例活动,最好将 &lt;multiInstanceLoopCharacteristics&gt; 移动到 &lt;userTask&gt; 并删除子流程元素
Activiti user guide: Multi-instance

【讨论】:

  • 你能解释一下为什么将 移到 会更好吗?
  • 仅在当前特定情况下会更好 - dextervip 使用 子进程来创建多实例用户任务
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-12
  • 2020-12-05
  • 2021-11-18
  • 1970-01-01
相关资源
最近更新 更多