00时 00分 00秒

多线程-TaskExecutor-使用Demo

BasicExecute.java
package com.jef.executeTest;

public abstract class BasicExecute extends Thread {


    @Override
    public void run() {
        commonRefresh();
    }

    /**
     * 共用方法调用
     */
    private void commonRefresh() {

    }

    public abstract void execute();
}

BasicEntity.java
package com.jef.executeTest;

public class BasicEntity {
    private Long id;

    private String name;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
FunctionExecute.java
package com.jef.executeTest;


public class FunctionExecute extends BasicExecute {
    private Long id;
    private String name;

    /**
     * 构造方法,业务参数传入
     * @param basicEntity
     */
    protected FunctionExecute(BasicEntity basicEntity) {
        id = basicEntity.getId();
        name = basicEntity.getName();
    }

    @Override
    public void execute() {
        syncBasicEntity(id, name);
    }

    /**
     * 业务流程
     */
    private void syncBasicEntity(Long id, String name) {
        // 这里面可能包含很多的业务操作
        System.out.println("id=" + id);
        System.out.println("name=" + name);
        System.out.println("execute test success");
    }

}
BasicExecuteTest.java
package com.jef.executeTest;

import org.springframework.core.task.TaskExecutor;

public class BasicExecuteTest {
    private static TaskExecutor taskExecutor;

    public static void main(String[] args) {
        BasicEntity basicEntity = new BasicEntity();
        basicEntity.setId(1L);
        basicEntity.setName("Jef");
        taskExecutor.execute(new FunctionExecute(basicEntity));
    }
}

 



posted @ 2018-01-25 20:20  杰克思勒(Jacksile)  阅读(273)  评论(0编辑  收藏  举报