Ich versuche, Aufgabe in Activiti nach Activiti folgenden Szenario zuzuordnen: Benutzer schließt seine eigene Aufgabe und Aufgabe müssen weiter zur Kandidatengruppe.Activiti Kandidat Gruppenzuordnung Implementierung
In Activiti-Eigenschaften hat diese Aufgabe keine Bearbeiter/Kandidatengruppen. Ich füge in Java-Code zu dieser Aufgabe Kandidatengruppe:
public void assignTaskToCandidateGroup(Long entityId) {
ProcessInstance processInstance = super.findProcessInstance(entity);
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
if (task != null) {
taskService.complete(task.getId());
}
// Get next task after previos closed and add Candidate group
task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
taskService.addCandidateGroup(task.getId(), "candidateGroup");
}
public List<Task> getTaskForCandidateGroup() {
return taskService.createTaskQuery().taskCandidateGroup("candidateGroup").list();
}
public void claimTaskCandidate(String taskId, User user) {
Task task = super.findTaskById(taskId);
List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("candidateGroup").list();
if (!tasks.contains(task))
throw new UnsupportedOperationException(String.format("Task with id [%s] is not intended for [%s]",
task.getId(), "candidateGroup"));
// ... check services and exception handing omitted
taskService.claim(task.getId(), user.getUsername());
}
ich die folgende Ausnahme erhalten, wenn getTaskForCandidateGroup():
"org.springframework.http.converter.HttpMessageNotWritableException" zu nennen,
"Nachricht": "Inhalt konnte nicht geschrieben werden: Lazy Laden außerhalb des Befehls Kontext (über die Referenzkette: java.util.ArrayList [0] -> org.activiti.engine.impl.persistence.entity.TaskEntity [\" variableInstances \ "]); geschachtelte Ausnahme ist com.fasterxml.jackson.databind.JsonMappingException: Lazy Laden außerhalb Befehlskontext (durch Referenzkette: java.util.ArrayList [0] -> org.activiti.engine.impl.persistence.entity.TaskEntity [\ "variableInstances \"])“, "Pfad": "/ teuis-api/Workflow-bps06/getTasksDirectorDeputyGroup"
jemand eine andere Lösung vorschlagen kann, um diese Aufgabe zu implementieren?
Wann rufen Sie getTaskForCandidateGroup()? Ihr Anruf ist wahrscheinlich außerhalb der Transaktion. – fersmi
Entschuldigung für die späte Antwort. Ich rufe direkt von der API (RestController). Keine zusätzliche Funktionalität. Ich möchte nur die Aufgaben mit einer hinzugefügten Kandidatengruppe anzeigen. Kein Problem mit Anspruch, der Prozess geht weiter, aber das Problem mit Aufgaben zu bekommen. –