声明后JBPM人工任务状态未更改?
成功执行方法后,人工任务状态未更改(仍显示为就绪状态)声明后JBPM人工任务状态未更改?,jbpm,Jbpm,成功执行方法后,人工任务状态未更改(仍显示为就绪状态) private void claimTask(TaskClient taskClient, String taskOwnerName, TaskSummary task) { BlockingTaskOperationResponseHandler operationResponseHandler = new BlockingTaskOperationResponseHandler(); taskClient.claim(task.getI
private void claimTask(TaskClient taskClient, String taskOwnerName, TaskSummary task) {
BlockingTaskOperationResponseHandler operationResponseHandler = new BlockingTaskOperationResponseHandler();
taskClient.claim(task.getId(), taskOwnerName, operationResponseHandler);
logger.debug("clamed task status is: " + task.getStatus());
}
记录器表示任务仍处于就绪状态。状态必须移动到保留状态。您使用的TaskSummary对象是未直接链接到基础数据库的分离对象。它不反映执行“claim”方法后数据库中任务的最新状态。对于任务的最新状态,我建议在记录其状态之前首先检索它,如下所示:
private void claimTask(TaskClient taskClient, String taskOwnerName, TaskSummary task) {
BlockingTaskOperationResponseHandler operationResponseHandler = new BlockingTaskOperationResponseHandler();
taskClient.claim(task.getId(), taskOwnerName, operationResponseHandler);
BlockingGetTaskResponseHandler getTaskHandler=new BlockingGetTaskResponseHandler();
taskClient.getTaskById(task.getId(),getTaskHandler);
logger.debug("claimed task status is: " + getTaskHandler.getTask().getStatus());
}