JBPM4.4自由流
来源:互联网 发布:java 数据结构 编辑:程序博客网 时间:2024/04/29 23:10
流程文件如下:
<process name="Free" xmlns="http://jbpm.org/4.4/jpdl"><start g="20,20,48,48"><transition g="-23,-17" name="123" to="state1"/></start><state g="143,142,92,52" name="state1"><transition g="-47,-17" name="to review" to="review"/></state><task assignee="#{a}" g="96,16,127,52" name="review"><transition g="-53,-17" name="to task1" to="task1"/></task><task assignee="#{b}" g="348,86,92,52" name="task1"><transition name="to end1" to="end1" g="-47,-17"/></task><end g="213,298,48,48" name="end1"/></process>
实现代码如下:
public void removeOutTransition(ProcessDefinitionImpl pd,String sourceName,String destName){ ActivityImpl sourceActivity = pd.findActivity(sourceName); List<Transition> trans=(List<Transition>) sourceActivity.getOutgoingTransitions(); for(Transition tran:trans){ if(destName.equals(tran.getDestination().getName())){ trans.remove(tran); break; } } }public void addOutTransition(ProcessDefinitionImpl pd,String sourceName,String destName){ ActivityImpl sourceActivity = pd.findActivity(sourceName); ActivityImpl destActivity=pd.findActivity(destName); TransitionImpl transition = sourceActivity.createOutgoingTransition(); transition.setName("to " +destName); transition.setDestination(destActivity); sourceActivity.addOutgoingTransition(transition);}public void testTaskAssignee() {Map<String, Object> variables = new HashMap<String, Object>(); variables.put("a", "johndoe"); variables.put("b", "xueyong"); ProcessInstance processInstance3 = executionService.startProcessInstanceByKey("Free",variables); ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance3.getProcessDefinitionId()).uniqueResult(); addOutTransition((ProcessDefinitionImpl)pd,"state1","task1"); Execution executionInA = processInstance3.findActiveExecutionIn("state1");processInstance3 = executionService.signalExecutionById(executionInA.getId(),"to task1");removeOutTransition((ProcessDefinitionImpl)pd,"task1","state1");Task task=taskService.findPersonalTasks("xueyong").get(0);taskService.completeTask(task.getId()); /*Set<String> outcomes = taskService.getOutcomes(task1.getId()); List<HistoryActivityInstance> list = historyService.createHistoryActivityInstanceQuery().activityName("state1").list(); */}
- JBPM4.4自由流
- JBPM4.4 撤除任务/回退任务/自由流
- jbpm4 回退、会签、撤销、自由流
- jbpm4 回退、会签、撤销、自由流
- JBPM4.3 自由流的实现
- jbpm4.3自由流程(动态路由)的实现
- JBPM4中的任务回退、补签、自由流程实现
- jbpm4.4入门建议
- SSH整合JBPM4.4
- SSH整合JBPM4.4
- Spring3集成jbpm4.4
- jbpm4.4基础知识(一)
- jbpm4.4基础知识
- jbpm4.4 会签实例
- Jbpm4.4集成SSH
- Jbpm4.4 Mail配置
- jbpm4.4表结构
- Spring继承JBPM4.4
- 一个简单的Makefile
- Js(DOM)动态添加节点和事件
- 开发者驿站
- 不再年轻,应建立目标,更上一层楼
- OpenCV cvmat结构 赋值 和 type 数据类型探讨 课后题3-2
- JBPM4.4自由流
- Linux系统中grep命令
- 动态库输出函数的约定以及名字修饰约定
- 常用数据结构之顺序结构List实现
- Hibernate3.5.3 之 一对一映射关联
- /sysroot/usr/include/search.h:19: error: expected declaration specifiers or '...' before '__free_fn_
- android 从Assets中读取中文文本
- 【RLIB】C++调用HttpRequest 、HttpResponse下载远程HTTP/HTTPS资源
- [算法导论读书笔记]矩阵链乘法