В jBPM 6.2 мы можем назначить пользовательскую задачу actor
или group
, чтобы они были потенциальными владельцами этих задач. Есть ли пользователь, которого мы можем определить в коде или файле bpmn, чтобы он мог выполнять все задачи пользователя независимо от того, назначена ему задача или нет?
jBPM 6.2 Как добавить пользователя, который может выполнять все задачи?
Ответы (1)
Создайте пользователя с именем «Администратор» или используйте одного из существующих пользователей и добавьте его в группу «Администраторы». Это дает соответствующему пользователю (пользователям) доступ к задаче в качестве бизнес-администратора. Это должно работать для большинства ваших требований.
Если у вас возникнут какие-либо проблемы с этим подходом, другой вариант может состоять в том, чтобы реализовать собственное поведение при назначении задач в «Личном задании» WorkItemHandler
, но давайте сначала попробуем подход, упомянутый выше.
В соответствии с запросом пример кода этого подхода:
- Реализуйте класс test.CustomHTWorkItemHandler, который расширяет LocalHTWorkItemHandler (https://github.com/droolsjbpm/jbpm/blob/master/jbpm-human-task/jbpm-human-task-workitems/src/main/java/org/jbpm/services/task/wih/LocalHTWorkItemHandler.java).
Дайте ему новый консуктор:
public CustomHTWorkItemHandler(RuntimeManager runtimeManager){ super.setRuntimeManager(runtimeManager); }
Метод переопределения createTaskBasedOnWorkItemParams:
protected Task createTaskBasedOnWorkItemParams(KieSession session, WorkItem workItem) { InternalTask task =(InternalTask)super.createTaskBasedOnWorkItemParams(session,workItem); Group adminGroup = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) adminGroup).setId("MySpecialAdminGroup"); task.getPeopleAssignments().getBusinessAdministrators().add(adminGroup); return task; }
в XML-файле дескриптора развертывания зарегистрируйте новый
CustomHTWorkItemHandler
:<work-item-handler> <resolver>mvel</resolver> <identifier>new test.CustomHTWorkItemHandler(runtimeManager)</identifier> <name>Human Task</name> </work-item-handler>
kmodule.xml
, но он не регистрируется jBPM.
- person LifeAndHope; 05.06.2015