查看: 59|回复: 4

[Java SE] JBPM FAQ

[复制链接]
  • TA的每日心情
    开心
    2015-11-19 17:27
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2018-11-24 18:52:54 | 显示全部楼层 |阅读模式
    1.如果在assignhandler 中取得当前的节点:
    1. ((ExecutionImpl) openExecution).getActivity()
    复制代码

    2.动态创建连接。
    1. public void createNewTransition(ProcessInstance processInstance ,String startActivity , String endActivity){
    2.         String processDefinitionId = processInstance.getProcessDefinitionId();
    3.         ProcessDefinitionImpl processDefinition =(ProcessDefinitionImpl)processEngine
    4.             .getRepositoryService()
    5.             .createProcessDefinitionQuery()
    6.             .processDefinitionId(processDefinitionId)
    7.             .uniqueResult();
    8.         Execution execution = processInstance.findActiveExecutionIn(startActivity);
    9.         if (execution == null) {
    10.               System.out.println("在" + processDefinitionId + "中没有找到startActivity活动名称" + startActivity);
    11.              }
    12.         ExecutionImpl executionImpl = (ExecutionImpl) execution;
    13.         Activity activity = executionImpl.getActivity();
    14.         ActivityImpl activityFind = processDefinition.findActivity(endActivity);
    15.          //判断在流程中是否有这个结点
    16.          if (activityFind == null) {
    17.           System.out.println("在" + processDefinitionId + "中没有找endActivity活动名称" + endActivity);
    18.          }
    19.          TransitionImpl transition = activityFind.createOutgoingTransition();
    20.          String transitionName = startActivity + "-to-"+ endActivity;
    21.          transition.setName(transitionName);
    22.          transition.setDestination(activityFind);
    23.          ((ActivityImpl)activity).addOutgoingTransition(transition);
    24.    
    25.          //验证
    26.          Execution executionTemp = processInstance.findActiveExecutionIn(startActivity);
    27.             ExecutionImpl executionImplTemp = (ExecutionImpl) execution;
    28.          ActivityImpl activitytemp =(ActivityImpl)executionImpl.getActivity();
    29.          List<Transition> transitions = activitytemp.getOutgoingTransitions();
    30.          for(Transition transition1 : transitions){
    31.              System.out.println("transition name"+ transition1.getName());
    32.          }
    33.     }
    复制代码




    您需要登录后才可以回帖 登录 | 注册青鸟豆号

    本版积分规则

    Copyright 1999-2018 Beijing Aptech Beida Jade Bird Information Technology Co.,Ltd

    北大青鸟IT教育 北京阿博泰克北大青鸟信息技术有限公司 版权所有

    京ICP备11045574号-3 京公网安备11010802013845号

    快速回复 返回顶部 返回列表