JBPM5流程图求指导,高分送上
求大神指导下,这张流程图画的有问题么?jbpm5 gateway --------------------编程问答-------------------- 环节处理中设计到退回处理, 不知道这张流程图 定义是否有问题 ,求大神指导哇 用的JBPM5.4 --------------------编程问答-------------------- 你的逻辑是什么?跟着逻辑再看这个图就清晰了。 --------------------编程问答--------------------
我是想问 ,流程图这么画是否有问题, 现在遇到的问题是,在分支网关的时候 走不下去了,他找不到有效的可分支路径 ,
还有就是 分支网关处的 参数 什么时候传入,在什么地方传入,比如说 是流程启动就传入呢,还是 处理到当前节点才传入参数呢, --------------------编程问答-------------------- 没有逻辑的流程图怎么判断是否有问题。 --------------------编程问答--------------------
关键是这个逻辑判断 什么时候切入 流程处理节点中,也就是必要的判断参数的值,如何进入到流程中 --------------------编程问答--------------------
也就是说这个 isback何如传入 :
--------------------编程问答-------------------- 不知道楼上的代码,出传入的isback是否正确,
//连接TaskServer
connect();
BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();
List<Status> status=new ArrayList<Status>();
status.add(Status.InProgress);
status.add(Status.Ready );
client.getTasksAssignedAsPotentialOwnerByStatus(userId, status, "en-UK", responseHandler);
List<TaskSummary> tasks = responseHandler.getResults();
System.err.print("||||||||||||||||||||||||||||||||||||||||||"+tasks.size());
//通过流程实例ID获取taskId
//TaskBO taskBo = (wfTaskService.getUnassigenTask(processInstanceId)).get(0);
//long taskId = taskBo.getId();
long taskId = tasks.get(0).getId();
//注册人工服务
HornetQHTWorkItemHandler hornetQHTWorkItemHandler = new HornetQHTWorkItemHandler(ksession);
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", hornetQHTWorkItemHandler);
BlockingTaskOperationResponseHandler responseHandler2 = new BlockingTaskOperationResponseHandler();
client.start(taskId, userId, responseHandler2);
responseHandler.waitTillDone(2000);
// then retrieve the task to extract the workItemId, where the process instance is waiting
BlockingGetTaskResponseHandler taskResponseHandler = new BlockingGetTaskResponseHandler();
client.getTask(taskId, taskResponseHandler);
responseHandler.waitTillDone(1000);
// first mark the task as completed on the task server
BlockingTaskOperationResponseHandler taskOperationHandler = new BlockingTaskOperationResponseHandler();
//设置任务处理的全局参数
ContentData contentData = ContentMarshallerHelper.marshal(data, hornetQHTWorkItemHandler.getMarshallerContext(), null);
if (data != null) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out;
try {
out = new ObjectOutputStream(bos);
out.writeObject(data);
out.close();
contentData = new ContentData();
contentData.setContent(bos.toByteArray());
contentData.setAccessType(AccessType.Inline);
} catch (IOException e) {
e.printStackTrace();
}
}
client.complete(taskId, userId, contentData, taskOperationHandler);
taskOperationHandler.waitTillDone(1000);
org.jbpm.task.Task task = taskResponseHandler.getTask();
try {
// force completition of the workItem associated with the task, on which the process instance is waiting
final Map<String, Object> results = new HashMap<String, Object>();
results.put("isback", "0");
ksession.getWorkItemManager().completeWorkItem(task.getTaskData().getWorkItemId(), results);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
执行这行代码 :
ksession.getWorkItemManager().completeWorkItem(task.getTaskData().getWorkItemId(), results);
异常,找不到可以分支的有效路径;我觉得还是分支的时候参数的问题,求大神指导 --------------------编程问答-------------------- 帮顶,当前节点审批完成,到分支的时候你上面已经写好了分支条件。不知道5 和4.4 差别大不大。 --------------------编程问答--------------------
能具体点么,或者贴点4.4的代码也行哇 --------------------编程问答--------------------
不是太了解哦,不好意思,你上面的好像是正确
补充:Java , Java EE