//將流程指定要新建的transition中 JbpmUtil.getExecutionService().signalExecutionById(JbpmUtil.getTaskService().getTask(taskId).getExecutionId(), transition.getName());
/** * 動態刪除連接sourceName與destName的Transition * @param taskId * @param sourceName * @param destName */ public void removeOutTransition(ProcessDefinitionImpl pd,String sourceName,String destName){ EnvironmentFactory environmentFactory = (EnvironmentFactory) JbpmUtil.getProcessEngine(); EnvironmentImpl env=null; try { env = environmentFactory.openEnvironment(); //取得當前流程的活動定義 ActivityImpl sourceActivity = pd.findActivity(sourceName); //若存在這個連接,則需要把該連接刪除 List<Transition> trans=sourceActivity.getOutgoingTransitions(); for(Transition tran:trans){ if(destName.equals(tran.getDestination().getName())){//刪除該連接 trans.remove(tran); break; } } }catch(Exception ex){ ex.printStackTrace(); }finally{ if(env!=null)env.close(); } }