0

マルチインスタンス サブプロセスをセットアップしようとしています。正しい数のプロセスが作成されますが、どれにも割り当てられません。

1 つの 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 を使用しています。

4

1 に答える 1

1

要素activiti:assignee="${assignee}"の属性を      使用して担当者を明示的に設定する必要があります。userTaskちなみに、サブプロセスをマルチインスタンス アクティビティにのみ使用する場合は、サブプロセス要素に移動<multiInstanceLoopCharacteristics>して<userTask>削除することをお勧めします。Activiti
     ユーザー ガイド: マルチインスタンス

于 2013-03-07T19:19:36.607 に答える