当前位置:编程学习 > JAVA >>

JBPM5流程图求指导,高分送上

求大神指导下,这张流程图画的有问题么?
jbpm5 gateway --------------------编程问答-------------------- 环节处理中设计到退回处理, 不知道这张流程图 定义是否有问题 ,求大神指导哇  用的JBPM5.4 --------------------编程问答-------------------- 你的逻辑是什么?跟着逻辑再看这个图就清晰了。 --------------------编程问答--------------------
引用 2 楼 fangmingshijie 的回复:
你的逻辑是什么?跟着逻辑再看这个图就清晰了。


我是想问 ,流程图这么画是否有问题, 现在遇到的问题是,在分支网关的时候 走不下去了,他找不到有效的可分支路径 ,

还有就是 分支网关处的 参数 什么时候传入,在什么地方传入,比如说 是流程启动就传入呢,还是 处理到当前节点才传入参数呢, --------------------编程问答-------------------- 没有逻辑的流程图怎么判断是否有问题。 --------------------编程问答--------------------
引用 4 楼 fangmingshijie 的回复:
没有逻辑的流程图怎么判断是否有问题。


关键是这个逻辑判断 什么时候切入 流程处理节点中,也就是必要的判断参数的值,如何进入到流程中 --------------------编程问答--------------------
引用 4 楼 fangmingshijie 的回复:
没有逻辑的流程图怎么判断是否有问题。




也就是说这个 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();
}
--------------------编程问答-------------------- 不知道楼上的代码,出传入的isback是否正确,
执行这行代码 :
ksession.getWorkItemManager().completeWorkItem(task.getTaskData().getWorkItemId(), results);

异常,找不到可以分支的有效路径;我觉得还是分支的时候参数的问题,求大神指导 --------------------编程问答-------------------- 帮顶,当前节点审批完成,到分支的时候你上面已经写好了分支条件。不知道5 和4.4 差别大不大。 --------------------编程问答--------------------
引用 8 楼 rui888 的回复:
帮顶,当前节点审批完成,到分支的时候你上面已经写好了分支条件。不知道5 和4.4 差别大不大。


能具体点么,或者贴点4.4的代码也行哇 --------------------编程问答--------------------
引用 9 楼 FAN962464 的回复:
Quote: 引用 8 楼 rui888 的回复:

帮顶,当前节点审批完成,到分支的时候你上面已经写好了分支条件。不知道5 和4.4 差别大不大。


能具体点么,或者贴点4.4的代码也行哇

不是太了解哦,不好意思,你上面的好像是正确
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,