Package com.starflow.wf.engine

Examples of com.starflow.wf.engine.ExecutorService


  private static void action(ProcessEngine processEngine, final ActivityElement activityXml, final ActivityInst activityInst,
      EventElement eventXml, final IAction action) {
    String invokePattern = eventXml.getInvokePattern();
    final String transactionType = eventXml.getTransactionType();
   
    ExecutorService executor = processEngine.getExecutorService();
    if(Constants.ACT_AUTO_CALL_SYN.equalsIgnoreCase(invokePattern)) {
      //同步调用可以返回运行结果,前提是要设置返回运行结果。
      try {
        executor.execute(new Callable<Object>() {
          public Object call() throws Exception {
            if(Constants.ACT_TRANSACTION_JOIN.equalsIgnoreCase(transactionType)) {
              action.execute(activityXml, activityInst);
            } else {
              executeLogicInNewTransaction(activityXml, activityInst, action);
            }
            return null;
          }
        }, invokePattern);
      } catch (Exception e) {
        handleException(e, eventXml);
      }
     
    } else {
      //异步执行使用suspend事务。忽略异常
      try {
        executor.execute(new Callable<Object>() {
          public Object call() throws Exception {
            executeLogicInNewTransaction(activityXml, activityInst, action);
            return null;
          }
        }, invokePattern);
View Full Code Here


   */
  public void action(final ActivityStartEvent event, final ActivityInst activityInst, ActivityElement activityXml, final IAction action) {
    String invokePattern = activityXml.getInvokePattern();
    final String transactionType = activityXml.getTransactionType();
   
    ExecutorService executor = event.getProcessEngine().getExecutorService();
   
    if(Constants.ACT_AUTO_CALL_SYN.equalsIgnoreCase(invokePattern)) {
      Object result = null;
      //同步调用可以返回运行结果,前提是要设置返回运行结果。
      try {
        result = executor.execute(new Callable<Object>() {
          @Override
          public Object call() throws Exception {
            if(Constants.ACT_TRANSACTION_JOIN.equalsIgnoreCase(transactionType)) {
              return action.execute(event, activityInst);
            } else {
              return executeLogicInNewTransaction(event, activityInst, action);
            }
          }
        }, invokePattern);
       
      } catch (Exception e) {
        handleException(e, event, activityXml);
      }
     
      //执行结果放入相关数据区。
      saveResultRelaData(event, result, activityXml);
    } else {
      //异步执行使用suspend事务。忽略异常
     
      try {
        executor.execute(new Callable<Object>() {
          public Object call() throws Exception {
            return executeLogicInNewTransaction(event, activityInst, action);
          }
        }, invokePattern);
      } catch (Exception e) {
View Full Code Here

  private static void action(ProcessEngine processEngine, final ProcessDefine processDefine,
      final ProcessInstance processInstance, EventElement eventXml, final IAction action) {
    String invokePattern = eventXml.getInvokePattern();
    final String transactionType = eventXml.getTransactionType();
   
    ExecutorService executor = processEngine.getExecutorService();
    if(Constants.ACT_AUTO_CALL_SYN.equalsIgnoreCase(invokePattern)) {
      //同步调用可以返回运行结果,前提是要设置返回运行结果。
      try {
        executor.execute(new Callable<Object>() {
          public Object call() throws Exception {
            if(Constants.ACT_TRANSACTION_JOIN.equalsIgnoreCase(transactionType)) {
              action.execute(processDefine, processInstance);
            } else {
              executeLogicInNewTransaction(processDefine, processInstance, action);
            }
            return null;
          }
        }, invokePattern);
      } catch (Exception e) {
        handleException(e, eventXml);
      }
    } else {
      //异步执行使用suspend事务。忽略异常
      try {
        executor.execute(new Callable<Object>() {
          public Object call() throws Exception {
            executeLogicInNewTransaction(processDefine, processInstance, action);
            return null;
          }
        }, invokePattern);
View Full Code Here

TOP

Related Classes of com.starflow.wf.engine.ExecutorService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.