All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.ltsopensource.example.api.TaskTrackerTest Maven / Gradle / Ivy

The newest version!
package com.github.ltsopensource.example.api;

import com.github.ltsopensource.example.support.TestJobRunner;
import com.github.ltsopensource.tasktracker.TaskTracker;


/**
 * @author Robert HG ([email protected]) on 8/19/14.
 */
public class TaskTrackerTest {

    public static void main(String[] args) {

        final TaskTracker taskTracker = new TaskTracker();
        // 任务执行类,实现JobRunner 接口
        taskTracker.setJobRunnerClass(TestJobRunner.class);
        taskTracker.setRegistryAddress("zookeeper://127.0.0.1:2181");
//         taskTracker.setRegistryAddress("redis://127.0.0.1:6379");
        taskTracker.setNodeGroup("test_trade_TaskTracker"); // 同一个TaskTracker集群这个名字相同
        taskTracker.setClusterName("test_cluster");
        taskTracker.setWorkThreads(10);
        // 反馈任务给JobTracker失败,存储本地文件路径
        // taskTracker.setDataPath(Constants.USER_HOME);
        // master 节点变化监听器,当有集群中只需要一个节点执行某个事情的时候,可以监听这个事件
//        taskTracker.addMasterChangeListener(new MasterChangeListenerImpl());
//        taskTracker.addConfig(Constants.JOB_PULL_FREQUENCY, "1"); //设置TaskTracker Pull Job的频率,精度要求高的,可以设置为1
        // 业务日志级别
        // taskTracker.setBizLoggerLevel(Level.INFO);
        // 可选址  leveldb(默认), rocksdb, berkeleydb
        // taskTracker.addConfig("job.fail.store", "leveldb");
        taskTracker.addConfig("lts.remoting", "netty");
//        taskTracker.addConfig("zk.client", "curator");

//        taskTracker.addConfig("lts.remoting.serializable.default", "fastjson");
//        taskTracker.addConfig(SpiKey.LTS_JSON, "fastjson");
        taskTracker.start();

        Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
            @Override
            public void run() {
                taskTracker.stop();
            }
        }));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy