PermissionDeniedException:User' [UserImpl:' admin']'无法执行操作'开始'在任务ID 1上由于没有当前状态'比赛

时间:2014-05-19 08:18:26

标签: jboss jbpm bpmn

我正在研究jBPM6和jboss6.2并尝试创建一个不同级别的应用程序,如Employee,Lead和Director。主管和主任是小组。创建流程后,我就像一个员工发送了一些请求并将流程移到了Lead,他已经批准了请求并将流程移到了Director,一旦他试图批准它就会抛出以下错误。

[org.jbpm.services.task.persistence.TaskTransactionInterceptor] (http-localhost/127.0.0.1:8080-5) Could not commit session: org.jbpm.services.task.exception.PermissionDeniedException: User '[UserImpl:'admin']' was unable to execution operation 'Start' on task id 1 due to a no 'current status' match
at org.jbpm.services.task.internals.lifecycle.MVELLifeCycleManager.evalCommand(MVELLifeCycleManager.java:128) [jbpm-human-task-core-6.0.1.Final.jar:6.0.1.Final]
at org.jbpm.services.task.internals.lifecycle.MVELLifeCycleManager.taskOperation(MVELLifeCycleManager.java:318) [jbpm-human-task-core-6.0.1.Final.jar:6.0.1.Final]
at org.jbpm.services.task.identity.UserGroupLifeCycleManagerDecorator.taskOperation(UserGroupLifeCycleManagerDecorator.java:46) [jbpm-human-task-core-6.0.1.Final.jar:6.0.1.Final]  
执行以下代码时

    TaskService taskService = runtimeEngine.getTaskService();
    taskService.start(taskId, username);
    taskService.complete(taskId, username, parameterMap);

我是BPM流程新手,但我尽力解决问题。但没有找到解决方案。请告诉我如何解决?配置或其他什么地方出错了?
谢谢,
Mr.Chowdary

2 个答案:

答案 0 :(得分:1)

请勿使用“admin”用户,请使用属于Director组的任何其他用户。

答案 1 :(得分:0)

经过大量的努力,调试代码后,我开始知道operations-dsl.mvel jbpm-human-task-core-6.0.1.Final.jar文件Start,Complete,Fail,Exit中有taskService.start(taskId, username); 等操作。 因为当前状态未定义。在完成任务时由于某些错误而发生这种情况。例如:

taskService.complete(taskId, username, parameterMap);  

在此步骤之前,状态为“Ready”
执行此步骤后,状态将为“InProgress”

complete()

执行"InProgress"时,如果有任何异常原因,则状态仅为start() 因此,如果用户尝试完成任务,它将以"InProgress"方法开头,在该方法中,状态[org.jbpm.services.task.persistence.TaskTransactionInterceptor] (http-localhost/127.0.0.1:8080-5) Could not commit session: org.jbpm.services.task.exception.PermissionDeniedException: User '[UserImpl:'admin']' was unable to execution operation 'Start' on task id 1 due to a no 'current status' match 未定义。所以它引发了以下异常。

{{1}}