Examples of TaskDefinition


Examples of com.firefly.schedule.core.support.TaskDefinition

     */
    private void checkTaskFinish(Schedule schedule){
      // 判断调度器中任务是否完成
    Map<String, TaskDefinition> taskMap = schedule.getTasks();
    for(Entry<String, TaskDefinition> entry : taskMap.entrySet()){
      TaskDefinition taskDefinition = entry.getValue();
      log.debug("CheckTaskFinish taskDefinition status ["+taskDefinition.getStatus()+"]");
      log.debug("CheckTaskFinish handler status ["+taskDefinition.getHandler().getStatus()+"]");
      if(TaskDefinition.CLOSED == taskDefinition.getStatus()){
        continue;
      }
      if(TaskDefinition.PAUSED == taskDefinition.getStatus()
          && Handler.FINISH != taskDefinition.getHandler().getStatus()){
        return;
      }
    }
    schedule.setStatus(Schedule.PAUSED); // 当所有任务都完成,则更改调度器状态为已暂停
    }
View Full Code Here

Examples of com.firefly.schedule.core.support.TaskDefinition

     */
    private void checkTaskClosed(Schedule schedule){
      // 判断调度器中任务是否完成
    Map<String, TaskDefinition> taskMap = schedule.getTasks();
    for(Entry<String, TaskDefinition> entry : taskMap.entrySet()){
      TaskDefinition taskDefinition = entry.getValue();
      if(TaskDefinition.CLOSING == taskDefinition.getStatus()
          && Handler.FINISH == taskDefinition.getHandler().getStatus()){
        taskDefinition.setStatus(TaskDefinition.CLOSED);
      }
    }
    }
View Full Code Here

Examples of com.firefly.schedule.core.support.TaskDefinition

     */
    private void openAllTasks(Schedule schedule){
      schedule.setStatus(Schedule.RUNNING);
      Map<String, TaskDefinition> taskMap = schedule.getTasks();
      for(Entry<String, TaskDefinition> entry : taskMap.entrySet()){
      TaskDefinition taskDefinition = entry.getValue();
      if(TaskDefinition.PAUSED == taskDefinition.getStatus()){
          schedule.open(entry.getKey());
        }
    }
      log.info("Allocate task ["+config.getScheduleName()+"]");
    }
View Full Code Here

Examples of com.firefly.schedule.core.support.TaskDefinition

    }
   
    @Override
    public synchronized void open(String taskId) {
        try {
          TaskDefinition taskDefinition = taskMap.get(taskId);
            /* 查看任务是否已启动 */
            if (Schedule.RUNNING == this.status
                && (taskDefinition == null || !taskDefinition.isClosed())){
              return;
            }
            log.debug("openHeart = "+config.getOpenHeart()+" , schedule status = "+this.status);
           
            /*
             * 如果调度器使用心跳监控,则任务必须在所有调度器等待就绪后才能开启
             *
             * 所以将状态改为已暂停
             */
      if (config.getOpenHeart()
          && this.status != RUNNING
          && TaskDefinition.CLOSED != taskDefinition.getStatus()) {
        taskDefinition.setStatus(TaskDefinition.PAUSED);
        return;
      }
           
            /* 启动任务 */
            Handler handler = taskDefinition.getHandler();
            if(handler == null){
              log.error("There is no handler to process!");
              return;
            }
            handler.setConfig(config);
            ScheduledFuture<?> future = service.scheduleWithFixedDelay(handler, 0, taskDefinition.getFrequency(), TimeUnit.MILLISECONDS);
            taskDefinition.setFuture(future);
            taskDefinition.setStatus(TaskDefinition.OPENED); // 修改业务状态为运行中
            log.info("Task {"+taskId+"} is opened!");
        } catch (Exception e) {
            log.error("Failed to open task", e);
        }
    }
View Full Code Here

Examples of com.firefly.schedule.core.support.TaskDefinition

   
    @Override
    public synchronized void close(String taskId) {
        try {
            // 关闭业务
            TaskDefinition taskDefinition = taskMap.get(taskId);
           
            if(taskDefinition == null || taskDefinition.isClosed())
              return;
           
            ScheduledFuture<?> future = taskDefinition.getFuture();
            if (future != null){
                future.cancel(false);
            }
            taskDefinition.setStatus(TaskDefinition.CLOSING); // 修改业务状态为关闭中
            log.info("Task {"+taskId+"} is closed!");
        } catch (Exception e) {
            log.error("Failed to close task", e);
        }
    }
View Full Code Here

Examples of com.firefly.schedule.core.support.TaskDefinition

    @Override
  public synchronized void pause() {
    try {
      // 暂停业务
      for (String key : taskMap.keySet()) {
        TaskDefinition taskDefinition = taskMap.get(key);
        if (taskDefinition.isClosed())
          continue;
        ScheduledFuture<?> future = taskDefinition.getFuture();
        if (future != null)
          future.cancel(false);
        taskDefinition.setStatus(TaskDefinition.PAUSED); // 修改业务状态为暂停
      }
      log.info(config.getScheduleName() + " is paused!");
    } catch (Exception e) {
      log.error("Failed to pause task", e);
    }
View Full Code Here

Examples of com.founder.fix.fixflow.core.task.TaskDefinition

*/
public class PotentialOwnerOneAssignmentImpl implements AssignmentHandler {

  public void assign(Assignable assignable, ExecutionContext executionContext) {
    // TODO 自动生成的方法存根
    TaskDefinition taskDefinition = assignable.getTaskDefinition();

    List<TaskAssigneeDefinitionTo> taskAssigneeDefinitionTos = taskDefinition.getTaskAssigneeDefinitionTos();

    for (TaskAssigneeDefinitionTo taskAssigneeDefinitionTo : taskAssigneeDefinitionTos) {

      if (taskAssigneeDefinitionTo.getUserIdExpression() != null) {
        List<String> resultList = executionExpression(taskAssigneeDefinitionTo.getUserIdExpression(), executionContext);
View Full Code Here

Examples of com.founder.fix.fixflow.core.task.TaskDefinition

   
   
    Object valueObject=Context.getAbstractScriptLanguageMgmt().getVariable("selectInfo");
    boolean succecd = false;
    if(valueObject != null){
      TaskDefinition taskDefinition = assignable.getTaskDefinition();
      String nodeId = taskDefinition.getUserTaskNode().getId();
      @SuppressWarnings("unused")
      String taskId=assignable.getId();
      List<Map<String, String>> selectInfoList = (List<Map<String, String>> )valueObject;
     
      for(Map<String, String> seleInfoMap : selectInfoList){
//        String _taskId = seleInfoMap.get("taskId");
        String _nodeId = seleInfoMap.get("nodeId");
        String _processer = seleInfoMap.get("processer");
       
        if(nodeId.equals(_nodeId)){
          assignable.setAssignee(_processer);
          succecd = true;
          break;
        }
      }
    }
   
   
    if(!succecd){
      TaskDefinition taskDefinition=assignable.getTaskDefinition();
     
      List<TaskAssigneeDefinitionTo> taskAssigneeDefinitionTos = taskDefinition.getTaskAssigneeDefinitionTos();

      for (TaskAssigneeDefinitionTo taskAssigneeDefinitionTo : taskAssigneeDefinitionTos) {

        if (taskAssigneeDefinitionTo.getUserIdExpression() != null) {
          List<String> resultList = executionExpression(taskAssigneeDefinitionTo.getUserIdExpression(), executionContext);
View Full Code Here

Examples of com.founder.fix.fixflow.core.task.TaskDefinition

public class PotentialOwnerAssignmentImpl implements AssignmentHandler {

  public void assign(Assignable assignable, ExecutionContext executionContext) {
    // TODO 自动生成的方法存根
    TaskDefinition taskDefinition=assignable.getTaskDefinition();
   
    List<TaskAssigneeDefinitionTo> taskAssigneeDefinitionTos = taskDefinition.getTaskAssigneeDefinitionTos();

    for (TaskAssigneeDefinitionTo taskAssigneeDefinitionTo : taskAssigneeDefinitionTos) {

      if (taskAssigneeDefinitionTo.getUserIdExpression() != null) {
        List<String> resultList = executionExpression(taskAssigneeDefinitionTo.getUserIdExpression(), executionContext);
View Full Code Here

Examples of com.founder.fix.fixflow.core.task.TaskDefinition

*/
public class HumanPerformerAssignmentImpl implements AssignmentHandler {

  public void assign(Assignable assignable, ExecutionContext executionContext) {
    // TODO 自动生成的方法存根
    TaskDefinition taskDefinition=assignable.getTaskDefinition();
   
    List<TaskAssigneeDefinitionTo> taskAssigneeDefinitionTos = taskDefinition.getTaskAssigneeDefinitionTos();

    for (TaskAssigneeDefinitionTo taskAssigneeDefinitionTo : taskAssigneeDefinitionTos) {
     
   

View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.