JFinalCoreConfig.java 2.6 KB
Newer Older
1 2 3 4 5 6
package com.xuxueli.executor.sample.jfinal.config;

import com.jfinal.config.*;
import com.jfinal.kit.Prop;
import com.jfinal.kit.PropKit;
import com.xuxueli.executor.sample.jfinal.controller.IndexController;
7
import com.xuxueli.executor.sample.jfinal.jobhandler.CommandJobHandler;
8
import com.xuxueli.executor.sample.jfinal.jobhandler.DemoJobHandler;
9
import com.xuxueli.executor.sample.jfinal.jobhandler.HttpJobHandler;
10 11 12 13 14 15 16 17 18 19 20 21
import com.xuxueli.executor.sample.jfinal.jobhandler.ShardingJobHandler;
import com.xxl.job.core.executor.XxlJobExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author xuxueli 2017-08-11 14:17:41
 */
public class JFinalCoreConfig extends JFinalConfig {
	private Logger logger = LoggerFactory.getLogger(JFinalCoreConfig.class);

	// ---------------------- xxl-job executor ----------------------
22
	private XxlJobExecutor xxlJobExecutor = null;
23
	private void initXxlJobExecutor() {
24

25 26 27
		// registry jobhandler
		XxlJobExecutor.registJobHandler("demoJobHandler", new DemoJobHandler());
		XxlJobExecutor.registJobHandler("shardingJobHandler", new ShardingJobHandler());
28
		XxlJobExecutor.registJobHandler("httpJobHandler", new HttpJobHandler());
29
		XxlJobExecutor.registJobHandler("commandJobHandler", new CommandJobHandler());
30 31 32 33 34 35

		// load executor prop
		Prop xxlJobProp = PropKit.use("xxl-job-executor.properties");

		// init executor
		xxlJobExecutor = new XxlJobExecutor();
许雪里's avatar
许雪里 已提交
36 37
		xxlJobExecutor.setAdminAddresses(xxlJobProp.get("xxl.job.admin.addresses"));
		xxlJobExecutor.setAppName(xxlJobProp.get("xxl.job.executor.appname"));
38 39 40
		xxlJobExecutor.setIp(xxlJobProp.get("xxl.job.executor.ip"));
		xxlJobExecutor.setPort(xxlJobProp.getInt("xxl.job.executor.port"));
		xxlJobExecutor.setAccessToken(xxlJobProp.get("xxl.job.accessToken"));
许雪里's avatar
许雪里 已提交
41 42
		xxlJobExecutor.setLogPath(xxlJobProp.get("xxl.job.executor.logpath"));
		xxlJobExecutor.setLogRetentionDays(xxlJobProp.getInt("xxl.job.executor.logretentiondays"));
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

		// start executor
		try {
			xxlJobExecutor.start();
		} catch (Exception e) {
			logger.error(e.getMessage(), e);
		}
	}
	private void destoryXxlJobExecutor() {
		if (xxlJobExecutor != null) {
			xxlJobExecutor.destroy();
		}
	}

	// ---------------------- jfinal ----------------------

	public void configRoute(Routes route) {
		route.add("/", IndexController.class);
	}

	@Override
	public void afterJFinalStart() {
		initXxlJobExecutor();
	}

	@Override
	public void beforeJFinalStop() {
		destoryXxlJobExecutor();
	}

	public void configConstant(Constants constants) {

	}

	public void configPlugin(Plugins plugins) {

	}

	public void configInterceptor(Interceptors interceptors) {

	}

	public void configHandler(Handlers handlers) {

	}


}