diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/executor/config/XxlJobConfig.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/executor/config/XxlJobConfig.java deleted file mode 100644 index e60bca6..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/executor/config/XxlJobConfig.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.chinaunicom.mall.ebtp.extend.executor.config; - -import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * xxl-job config - * - * @author xuxueli 2017-04-28 - */ -@Slf4j -@Configuration -public class XxlJobConfig { - - @Value("${xxl.job.admin.addresses}") - private String adminAddresses; - - @Value("${xxl.job.accessToken}") - private String accessToken; - - @Value("${xxl.job.executor.appname}") - private String appname; - - @Value("${xxl.job.executor.address}") - private String address; - - @Value("${xxl.job.executor.ip}") - private String ip; - - @Value("${xxl.job.executor.port}") - private int port; - - @Value("${xxl.job.executor.logpath}") - private String logPath; - - @Value("${xxl.job.executor.logretentiondays}") - private int logRetentionDays; - - - @Bean - public XxlJobSpringExecutor xxlJobExecutor() { - log.info(">>>>>>>>>>> xxl-job config init."); - XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); - xxlJobSpringExecutor.setAdminAddresses(adminAddresses); - xxlJobSpringExecutor.setAppname(appname); - xxlJobSpringExecutor.setAddress(address); - xxlJobSpringExecutor.setIp(ip); - xxlJobSpringExecutor.setPort(port); - xxlJobSpringExecutor.setAccessToken(accessToken); - xxlJobSpringExecutor.setLogPath(logPath); - xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); - - return xxlJobSpringExecutor; - } -} \ No newline at end of file diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/executor/jobhandler/SampleXxlJob.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/executor/jobhandler/SampleXxlJob.java deleted file mode 100644 index 99b3227..0000000 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/executor/jobhandler/SampleXxlJob.java +++ /dev/null @@ -1,239 +0,0 @@ -package com.chinaunicom.mall.ebtp.extend.executor.jobhandler; - -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.context.XxlJobContext; -import com.xxl.job.core.handler.IJobHandler; -import com.xxl.job.core.handler.annotation.XxlJob; -import com.xxl.job.core.log.XxlJobLogger; -import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -import java.io.BufferedInputStream; -import java.io.BufferedReader; -import java.io.DataOutputStream; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.Arrays; -import java.util.concurrent.TimeUnit; - -/** - * XxlJob开发示例(Bean模式) - * - * 开发步骤: - * 1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT execute(String param)" - * 2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。 - * 3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志; - * - * @author xuxueli 2019-12-11 21:52:51 - */ -@Slf4j -@Component -public class SampleXxlJob { - - /** - * 1、简单任务示例(Bean模式) - */ - @XxlJob("extendJobHandler") - public ReturnT extendJobHandler(String param) throws Exception { - XxlJobLogger.log("XXL-JOB, Hello World."); - log.info("本地日志输出 XXL-JOB, Hello World."); - for (int i = 0; i < 5; i++) { - XxlJobLogger.log("beat at:" + i); - TimeUnit.SECONDS.sleep(2); - } - return ReturnT.SUCCESS; - } - - -// /** -// * 2、分片广播任务 -// */ -// @XxlJob("shardingJobHandler") -// public ReturnT shardingJobHandler(String param) throws Exception { -// -// // 分片参数 -// int shardIndex = XxlJobContext.getXxlJobContext().getShardIndex(); -// int shardTotal = XxlJobContext.getXxlJobContext().getShardTotal(); -// -// XxlJobLogger.log("分片参数:当前分片序号 = {}, 总分片数 = {}", shardIndex, shardTotal); -// -// // 业务逻辑 -// for (int i = 0; i < shardTotal; i++) { -// if (i == shardIndex) { -// XxlJobLogger.log("第 {} 片, 命中分片开始处理", i); -// } else { -// XxlJobLogger.log("第 {} 片, 忽略", i); -// } -// } -// -// return ReturnT.SUCCESS; -// } -// -// -// /** -// * 3、命令行任务 -// */ -// @XxlJob("commandJobHandler") -// public ReturnT commandJobHandler(String param) throws Exception { -// String command = param; -// int exitValue = -1; -// -// BufferedReader bufferedReader = null; -// try { -// // command process -// Process process = Runtime.getRuntime().exec(command); -// BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream()); -// bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream)); -// -// // command log -// String line; -// while ((line = bufferedReader.readLine()) != null) { -// XxlJobLogger.log(line); -// } -// -// // command exit -// process.waitFor(); -// exitValue = process.exitValue(); -// } catch (Exception e) { -// XxlJobLogger.log(e); -// } finally { -// if (bufferedReader != null) { -// bufferedReader.close(); -// } -// } -// -// if (exitValue == 0) { -// return IJobHandler.SUCCESS; -// } else { -// return new ReturnT(IJobHandler.FAIL.getCode(), "command exit value("+exitValue+") is failed"); -// } -// } -// -// -// /** -// * 4、跨平台Http任务 -// * 参数示例: -// * "url: http://www.baidu.com\n" + -// * "method: get\n" + -// * "data: content\n"; -// */ -// @XxlJob("httpJobHandler") -// public ReturnT httpJobHandler(String param) throws Exception { -// -// // param parse -// if (param==null || param.trim().length()==0) { -// XxlJobLogger.log("param["+ param +"] invalid."); -// return ReturnT.FAIL; -// } -// String[] httpParams = param.split("\n"); -// String url = null; -// String method = null; -// String data = null; -// for (String httpParam: httpParams) { -// if (httpParam.startsWith("url:")) { -// url = httpParam.substring(httpParam.indexOf("url:") + 4).trim(); -// } -// if (httpParam.startsWith("method:")) { -// method = httpParam.substring(httpParam.indexOf("method:") + 7).trim().toUpperCase(); -// } -// if (httpParam.startsWith("data:")) { -// data = httpParam.substring(httpParam.indexOf("data:") + 5).trim(); -// } -// } -// -// // param valid -// if (url==null || url.trim().length()==0) { -// XxlJobLogger.log("url["+ url +"] invalid."); -// return ReturnT.FAIL; -// } -// if (method==null || !Arrays.asList("GET", "POST").contains(method)) { -// XxlJobLogger.log("method["+ method +"] invalid."); -// return ReturnT.FAIL; -// } -// boolean isPostMethod = method.equals("POST"); -// -// // request -// HttpURLConnection connection = null; -// BufferedReader bufferedReader = null; -// try { -// // connection -// URL realUrl = new URL(url); -// connection = (HttpURLConnection) realUrl.openConnection(); -// -// // connection setting -// connection.setRequestMethod(method); -// connection.setDoOutput(isPostMethod); -// connection.setDoInput(true); -// connection.setUseCaches(false); -// connection.setReadTimeout(5 * 1000); -// connection.setConnectTimeout(3 * 1000); -// connection.setRequestProperty("connection", "Keep-Alive"); -// connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); -// connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8"); -// -// // do connection -// connection.connect(); -// -// // data -// if (isPostMethod && data!=null && data.trim().length()>0) { -// DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream()); -// dataOutputStream.write(data.getBytes("UTF-8")); -// dataOutputStream.flush(); -// dataOutputStream.close(); -// } -// -// // valid StatusCode -// int statusCode = connection.getResponseCode(); -// if (statusCode != 200) { -// throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid."); -// } -// -// // result -// bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); -// StringBuilder result = new StringBuilder(); -// String line; -// while ((line = bufferedReader.readLine()) != null) { -// result.append(line); -// } -// String responseMsg = result.toString(); -// -// XxlJobLogger.log(responseMsg); -// return ReturnT.SUCCESS; -// } catch (Exception e) { -// XxlJobLogger.log(e); -// return ReturnT.FAIL; -// } finally { -// try { -// if (bufferedReader != null) { -// bufferedReader.close(); -// } -// if (connection != null) { -// connection.disconnect(); -// } -// } catch (Exception e2) { -// XxlJobLogger.log(e2); -// } -// } -// -// } -// -// /** -// * 5、生命周期任务示例:任务初始化与销毁时,支持自定义相关逻辑; -// */ -// @XxlJob(value = "demoJobHandler2", init = "init", destroy = "destroy") -// public ReturnT demoJobHandler2(String param) throws Exception { -// XxlJobLogger.log("XXL-JOB, Hello World."); -// return ReturnT.SUCCESS; -// } -// public void init(){ -// logger.info("init"); -// } -// public void destroy(){ -// logger.info("destory"); -// } - - -}