Java源码示例:org.activiti.engine.impl.RuntimeServiceImpl

示例1
@Deployment(resources={"org/activiti5/engine/test/concurrency/CompetingSignalsTest.testCompetingSignals.bpmn20.xml"})
public void testCompetingSignalsWithRetry() throws Exception {
  RuntimeServiceImpl runtimeServiceImpl = (RuntimeServiceImpl)runtimeService;        
  CommandExecutorImpl before = (CommandExecutorImpl) runtimeServiceImpl.getCommandExecutor();
  try {
    CommandInterceptor retryInterceptor = new RetryInterceptor();
    retryInterceptor.setNext(before.getFirst());

    runtimeServiceImpl.setCommandExecutor(new CommandExecutorImpl(before.getDefaultConfig(), retryInterceptor));
    
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("CompetingSignalsProcess");
    String processInstanceId = processInstance.getId();

    log.debug("test thread starts thread one");
    SignalThread threadOne = new SignalThread(processInstanceId);
    threadOne.startAndWaitUntilControlIsReturned();
    
    log.debug("test thread continues to start thread two");
    SignalThread threadTwo = new SignalThread(processInstanceId);
    threadTwo.startAndWaitUntilControlIsReturned();

    log.debug("test thread notifies thread 1");
    threadOne.proceedAndWaitTillDone();
    assertNull(threadOne.exception);

    log.debug("test thread notifies thread 2");
    threadTwo.proceedAndWaitTillDone();
    assertNull(threadTwo.exception);
  } finally {
    // restore the command executor
    runtimeServiceImpl.setCommandExecutor(before);
  }
  
}
 
示例2
public ProcessInstanceBuilderImpl(RuntimeServiceImpl runtimeService) {
  this.runtimeService = runtimeService;
}
 
示例3
public ProcessInstanceBuilderImpl(RuntimeServiceImpl runtimeService) {
    this.runtimeService = runtimeService;
}
 
示例4
private void executeCommand(Command<java.lang.Void> command)
{
	((RuntimeServiceImpl) _processEngine.getRuntimeService()).getCommandExecutor().execute(command);
}