xueli.xue 4 years ago
parent
commit
eeb2bfdfb3
24 changed files with 0 additions and 916 deletions
  1. 0 2
      xxl-job-executor-samples/pom.xml
  2. 0 55
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/pom.xml
  3. 0 12
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/JbootApp.java
  4. 0 65
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/config/JbootConfig.java
  5. 0 14
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/controller/IndexController.java
  6. 0 54
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/CommandJobHandler.java
  7. 0 32
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/DemoJobHandler.java
  8. 0 121
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/HttpJobHandler.java
  9. 0 36
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/ShardingJobHandler.java
  10. 0 17
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/resources/jboot.properties
  11. 0 29
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/resources/logback.xml
  12. 0 18
      xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/test/java/com/xuxueli/AppTest.java
  13. 0 38
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/pom.xml
  14. 0 23
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/MainModule.java
  15. 0 62
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/config/NutzSetup.java
  16. 0 54
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/CommandJobHandler.java
  17. 0 34
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/DemoJobHandler.java
  18. 0 121
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/HttpJobHandler.java
  19. 0 36
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/ShardingJobHandler.java
  20. 0 16
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/module/IndexModule.java
  21. 0 27
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/resources/log4j.xml
  22. 0 17
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/resources/xxl-job-executor.properties
  23. 0 32
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/webapp/WEB-INF/web.xml
  24. 0 1
      xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/webapp/index.html

+ 0 - 2
xxl-job-executor-samples/pom.xml

@@ -15,8 +15,6 @@
         <module>xxl-job-executor-sample-springboot</module>
         <module>xxl-job-executor-sample-spring</module>
         <module>xxl-job-executor-sample-jfinal</module>
-        <module>xxl-job-executor-sample-nutz</module>
-		<module>xxl-job-executor-sample-jboot</module>
     </modules>
 
 </project>

+ 0 - 55
xxl-job-executor-samples/xxl-job-executor-sample-jboot/pom.xml

@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.xuxueli</groupId>
-        <artifactId>xxl-job-executor-samples</artifactId>
-        <version>2.2.1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>xxl-job-executor-sample-jboot</artifactId>
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-    </properties>
-
-    <dependencies>
-        <!-- jboot -->
-        <dependency>
-            <groupId>io.jboot</groupId>
-            <artifactId>jboot</artifactId>
-            <version>2.0.9</version>
-        </dependency>
-
-        <!-- xxl-job-core -->
-        <dependency>
-            <groupId>com.xuxueli</groupId>
-            <artifactId>xxl-job-core</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.11</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-core</artifactId>
-            <version>1.1.11</version>
-        </dependency>
-
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>1.1.11</version>
-        </dependency>
-
-    </dependencies>
-
-</project>

+ 0 - 12
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/JbootApp.java

@@ -1,12 +0,0 @@
-package com.xuxueli.executor.sample.jboot;
-
-import io.jboot.app.JbootApplication;
-
-/**
- * Jboot app
- */
-public class JbootApp {
-    public static void main(String[] args) {
-        JbootApplication.run(args);
-    }
-}

+ 0 - 65
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/config/JbootConfig.java

@@ -1,65 +0,0 @@
-package com.xuxueli.executor.sample.jboot.config;
-
-import com.xuxueli.executor.sample.jboot.jobhandler.CommandJobHandler;
-import com.xuxueli.executor.sample.jboot.jobhandler.DemoJobHandler;
-import com.xuxueli.executor.sample.jboot.jobhandler.HttpJobHandler;
-import com.xuxueli.executor.sample.jboot.jobhandler.ShardingJobHandler;
-import com.xxl.job.core.executor.XxlJobExecutor;
-import io.jboot.Jboot;
-import io.jboot.core.listener.JbootAppListenerBase;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class JbootConfig extends JbootAppListenerBase {
-    private Logger logger = LoggerFactory.getLogger(JbootConfig.class);
-
-    // ---------------------- xxl-job executor ----------------------
-    private XxlJobExecutor xxlJobExecutor = null;
-
-    private void initXxlJobExecutor() {
-
-        // registry jobhandler
-        XxlJobExecutor.registJobHandler("demoJobHandler", new DemoJobHandler());
-        XxlJobExecutor.registJobHandler("shardingJobHandler", new ShardingJobHandler());
-        XxlJobExecutor.registJobHandler("httpJobHandler", new HttpJobHandler());
-        XxlJobExecutor.registJobHandler("commandJobHandler", new CommandJobHandler());
-
-        // init executor
-        xxlJobExecutor = new XxlJobExecutor();
-        xxlJobExecutor.setAdminAddresses(Jboot.configValue("xxl.job.admin.addresses"));
-        xxlJobExecutor.setAccessToken(Jboot.configValue("xxl.job.accessToken"));
-        xxlJobExecutor.setAddress(Jboot.configValue("xxl.job.executor.address"));
-        xxlJobExecutor.setAppname(Jboot.configValue("xxl.job.executor.appname"));
-        xxlJobExecutor.setIp(Jboot.configValue("xxl.job.executor.ip"));
-        xxlJobExecutor.setPort(Integer.valueOf(Jboot.configValue("xxl.job.executor.port")));
-        xxlJobExecutor.setLogPath(Jboot.configValue("xxl.job.executor.logpath"));
-        xxlJobExecutor.setLogRetentionDays(Integer.valueOf(Jboot.configValue("xxl.job.executor.logretentiondays")));
-
-        // start executor
-        try {
-            xxlJobExecutor.start();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-
-    // ---------------------- jboot ----------------------
-
-    private void destoryXxlJobExecutor() {
-        if (xxlJobExecutor != null) {
-            xxlJobExecutor.destroy();
-        }
-    }
-
-    @Override
-    public void onStart() {
-        initXxlJobExecutor();
-        super.onStart();
-    }
-
-    @Override
-    public void onStop() {
-        destoryXxlJobExecutor();
-        super.onStop();
-    }
-}

+ 0 - 14
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/controller/IndexController.java

@@ -1,14 +0,0 @@
-package com.xuxueli.executor.sample.jboot.controller;
-
-import io.jboot.web.controller.JbootController;
-import io.jboot.web.controller.annotation.RequestMapping;
-
-
-@RequestMapping("/")
-public class IndexController extends JbootController {
-
-    public void index() {
-        renderText("xxl job executor running.");
-    }
-
-}

+ 0 - 54
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/CommandJobHandler.java

@@ -1,54 +0,0 @@
-package com.xuxueli.executor.sample.jboot.jobhandler;
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.IJobHandler;
-import com.xxl.job.core.log.XxlJobLogger;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-/**
- * 命令行任务
- *
- * @author xuxueli 2018-09-16 03:48:34
- */
-public class CommandJobHandler extends IJobHandler {
-
-    @Override
-    public ReturnT<String> execute(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<String>(IJobHandler.FAIL.getCode(), "command exit value("+exitValue+") is failed");
-        }
-    }
-
-}

+ 0 - 32
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/DemoJobHandler.java

@@ -1,32 +0,0 @@
-package com.xuxueli.executor.sample.jboot.jobhandler;
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.IJobHandler;
-import com.xxl.job.core.log.XxlJobLogger;
-
-import java.util.concurrent.TimeUnit;
-
-/**
- * 任务Handler示例(Bean模式)
- *
- * 开发步骤:
- * 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
- * 2、注册到执行器工厂:在 "JFinalCoreConfig.initXxlJobExecutor" 中手动注册,注解key值对应的是调度中心新建任务的JobHandler属性的值。
- * 3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
- *
- * @author xuxueli 2015-12-19 19:43:36
- */
-public class DemoJobHandler extends IJobHandler {
-
-	@Override
-	public ReturnT<String> execute(String param) throws Exception {
-		XxlJobLogger.log("XXL-JOB, Hello World.");
-
-		for (int i = 0; i < 5; i++) {
-			XxlJobLogger.log("beat at:" + i);
-			TimeUnit.SECONDS.sleep(2);
-		}
-		return SUCCESS;
-	}
-
-}

+ 0 - 121
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/HttpJobHandler.java

@@ -1,121 +0,0 @@
-package com.xuxueli.executor.sample.jboot.jobhandler;
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.IJobHandler;
-import com.xxl.job.core.log.XxlJobLogger;
-
-import java.io.BufferedReader;
-import java.io.DataOutputStream;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.Arrays;
-
-/**
- * 跨平台Http任务
- *
- * @author xuxueli 2018-09-16 03:48:34
- */
-public class HttpJobHandler extends IJobHandler {
-
-    @Override
-    public ReturnT<String> execute(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);
-            }
-        }
-
-    }
-
-}

+ 0 - 36
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/java/com/xuxueli/executor/sample/jboot/jobhandler/ShardingJobHandler.java

@@ -1,36 +0,0 @@
-package com.xuxueli.executor.sample.jboot.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.log.XxlJobLogger;
-
-/**
- * 分片广播任务
- *
- * @author xuxueli 2017-07-25 20:56:50
- */
-public class ShardingJobHandler extends IJobHandler {
-
-	@Override
-	public ReturnT<String> execute(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 SUCCESS;
-	}
-	
-}

+ 0 - 17
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/resources/jboot.properties

@@ -1,17 +0,0 @@
-### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
-xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
-
-### xxl-job, access token
-xxl.job.accessToken=
-
-### xxl-job executor appname
-xxl.job.executor.appname=xxl-job-executor-sample
-### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
-xxl.job.executor.address=
-### xxl-job executor server-info
-xxl.job.executor.ip=
-xxl.job.executor.port=9999
-### xxl-job executor log-path
-xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
-### xxl-job executor log-retention-days
-xxl.job.executor.logretentiondays=30

+ 0 - 29
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/main/resources/logback.xml

@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration debug="false" scan="true" scanPeriod="1 seconds">
-
-    <contextName>logback</contextName>
-    <property name="log.path" value="/data/applogs/xxl-job/xxl-job-executor-sample-jboot.log"/>
-
-    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${log.path}</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
-        </rollingPolicy>
-        <encoder>
-            <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
-            </pattern>
-        </encoder>
-    </appender>
-
-    <root level="info">
-        <appender-ref ref="console"/>
-        <appender-ref ref="file"/>
-    </root>
-
-</configuration>

+ 0 - 18
xxl-job-executor-samples/xxl-job-executor-sample-jboot/src/test/java/com/xuxueli/AppTest.java

@@ -1,18 +0,0 @@
-package com.xuxueli;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * Unit test for simple App.
- */
-public class AppTest {
-    /**
-     * Rigorous Test :-)
-     */
-    @Test
-    public void shouldAnswerWithTrue() {
-        assertTrue(true);
-    }
-}

+ 0 - 38
xxl-job-executor-samples/xxl-job-executor-sample-nutz/pom.xml

@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>com.xuxueli</groupId>
-        <artifactId>xxl-job-executor-samples</artifactId>
-        <version>2.2.1-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>xxl-job-executor-sample-nutz</artifactId>
-    <packaging>war</packaging>
-
-    <dependencies>
-        <!-- nutz -->
-        <dependency>
-			<groupId>org.nutz</groupId>
-			<artifactId>nutz</artifactId>
-			<version>1.r.62</version>
-		</dependency>
-
-        <!-- slf4j -->
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>${slf4j-api.version}</version>
-        </dependency>
-
-        <!-- xxl-job -->
-        <dependency>
-            <groupId>com.xuxueli</groupId>
-            <artifactId>xxl-job-core</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-
-    </dependencies>
-
-</project>

+ 0 - 23
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/MainModule.java

@@ -1,23 +0,0 @@
-package com.xuxueli.executor.sample.nutz;
-
-import com.xuxueli.executor.sample.nutz.config.NutzSetup;
-import org.nutz.mvc.annotation.*;
-import org.nutz.mvc.ioc.provider.ComboIocProvider;
-
-/**
- * nutz module
- *
- * @author xuxueli 2017-12-25 17:58:43
- */
-@IocBy(type = ComboIocProvider.class,
-        args = {"*org.nutz.ioc.loader.annotation.AnnotationIocLoader",
-                "com.xuxueli.executor.sample.nutz"})
-@Encoding(input = "utf-8", output = "utf-8")
-@Modules(scanPackage = true)
-@Localization("msg")
-@Ok("json")
-@Fail("json")
-@SetupBy(NutzSetup.class)
-public class MainModule {
-
-}

+ 0 - 62
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/config/NutzSetup.java

@@ -1,62 +0,0 @@
-package com.xuxueli.executor.sample.nutz.config;
-
-import com.xuxueli.executor.sample.nutz.jobhandler.CommandJobHandler;
-import com.xuxueli.executor.sample.nutz.jobhandler.DemoJobHandler;
-import com.xuxueli.executor.sample.nutz.jobhandler.HttpJobHandler;
-import com.xuxueli.executor.sample.nutz.jobhandler.ShardingJobHandler;
-import com.xxl.job.core.executor.XxlJobExecutor;
-import org.nutz.ioc.impl.PropertiesProxy;
-import org.nutz.mvc.NutConfig;
-import org.nutz.mvc.Setup;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * nutz setup
- *
- * @author xuxueli 2017-12-25 17:58:43
- */
-public class NutzSetup implements Setup {
-	private Logger logger = LoggerFactory.getLogger(NutzSetup.class);
-
-	private XxlJobExecutor xxlJobExecutor = null;
-
-	@Override
-	public void init(NutConfig cfg) {
-
-		// registry jobhandler
-		XxlJobExecutor.registJobHandler("demoJobHandler", new DemoJobHandler());
-		XxlJobExecutor.registJobHandler("shardingJobHandler", new ShardingJobHandler());
-		XxlJobExecutor.registJobHandler("httpJobHandler", new HttpJobHandler());
-		XxlJobExecutor.registJobHandler("commandJobHandler", new CommandJobHandler());
-
-		// load executor prop
-		PropertiesProxy xxlJobProp = new PropertiesProxy("xxl-job-executor.properties");
-
-		// init executor
-		xxlJobExecutor = new XxlJobExecutor();
-		xxlJobExecutor.setAdminAddresses(xxlJobProp.get("xxl.job.admin.addresses"));
-		xxlJobExecutor.setAccessToken(xxlJobProp.get("xxl.job.accessToken"));
-		xxlJobExecutor.setAppname(xxlJobProp.get("xxl.job.executor.appname"));
-		xxlJobExecutor.setAddress(xxlJobProp.get("xxl.job.executor.address"));
-		xxlJobExecutor.setIp(xxlJobProp.get("xxl.job.executor.ip"));
-		xxlJobExecutor.setPort(xxlJobProp.getInt("xxl.job.executor.port"));
-		xxlJobExecutor.setLogPath(xxlJobProp.get("xxl.job.executor.logpath"));
-		xxlJobExecutor.setLogRetentionDays(xxlJobProp.getInt("xxl.job.executor.logretentiondays"));
-
-		// start executor
-		try {
-			xxlJobExecutor.start();
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-		}
-	}
-
-	@Override
-	public void destroy(NutConfig cfg) {
-		if (xxlJobExecutor != null) {
-			xxlJobExecutor.destroy();
-		}
-	}
-
-}

+ 0 - 54
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/CommandJobHandler.java

@@ -1,54 +0,0 @@
-package com.xuxueli.executor.sample.nutz.jobhandler;
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.IJobHandler;
-import com.xxl.job.core.log.XxlJobLogger;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-/**
- * 命令行任务
- *
- * @author xuxueli 2018-09-16 03:48:34
- */
-public class CommandJobHandler extends IJobHandler {
-
-    @Override
-    public ReturnT<String> execute(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<String>(IJobHandler.FAIL.getCode(), "command exit value("+exitValue+") is failed");
-        }
-    }
-
-}

+ 0 - 34
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/DemoJobHandler.java

@@ -1,34 +0,0 @@
-package com.xuxueli.executor.sample.nutz.jobhandler;
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.IJobHandler;
-import com.xxl.job.core.log.XxlJobLogger;
-
-import java.util.concurrent.TimeUnit;
-
-/**
- * 任务Handler示例(Bean模式)
- *
- * 开发步骤:
- * 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
- * 2、注册到Nutz容器:添加“@IocBean”注解,被Nutz容器扫描为Bean实例;
- * 3、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。
- * 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
- *
- * @author xuxueli 2015-12-19 19:43:36
- */
-public class DemoJobHandler extends IJobHandler {
-
-	@Override
-	public ReturnT<String> execute(String param) throws Exception {
-		XxlJobLogger.log("XXL-JOB, Hello World.");
-
-		for (int i = 0; i < 5; i++) {
-			XxlJobLogger.log("beat at:" + i);
-			TimeUnit.SECONDS.sleep(2);
-		}
-		return SUCCESS;
-	}
-
-}
-

+ 0 - 121
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/HttpJobHandler.java

@@ -1,121 +0,0 @@
-package com.xuxueli.executor.sample.nutz.jobhandler;
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.IJobHandler;
-import com.xxl.job.core.log.XxlJobLogger;
-
-import java.io.BufferedReader;
-import java.io.DataOutputStream;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.Arrays;
-
-/**
- * 跨平台Http任务
- *
- * @author xuxueli 2018-09-16 03:48:34
- */
-public class HttpJobHandler extends IJobHandler {
-
-    @Override
-    public ReturnT<String> execute(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);
-            }
-        }
-
-    }
-
-}

+ 0 - 36
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/jobhandler/ShardingJobHandler.java

@@ -1,36 +0,0 @@
-package com.xuxueli.executor.sample.nutz.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.log.XxlJobLogger;
-
-/**
- * 分片广播任务
- *
- * @author xuxueli 2017-07-25 20:56:50
- */
-public class ShardingJobHandler extends IJobHandler {
-
-	@Override
-	public ReturnT<String> execute(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 SUCCESS;
-	}
-
-}

+ 0 - 16
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/java/com/xuxueli/executor/sample/nutz/module/IndexModule.java

@@ -1,16 +0,0 @@
-package com.xuxueli.executor.sample.nutz.module;
-
-import org.nutz.ioc.loader.annotation.IocBean;
-import org.nutz.mvc.annotation.At;
-import org.nutz.mvc.annotation.Ok;
-
-@IocBean
-public class IndexModule {
-	
-	@At("/")
-	@Ok("json")
-	public String index() {
-		return "xxl job executor running.";
-	}
-
-}

+ 0 - 27
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/resources/log4j.xml

@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" threshold="null" debug="null">
-
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out" />
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} xxl-job-executor-sample-nutz [%c]-[%t]-[%M]-[%L]-[%p] %m%n"/>
-        </layout>
-    </appender>
-
-    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/data/applogs/xxl-job/xxl-job-executor-sample-nutz.log"/>
-        <param name="append" value="true"/>
-        <param name="encoding" value="UTF-8"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} xxl-job-executor-sample-nutz [%c]-[%t]-[%M]-[%L]-[%p] %m%n"/>
-        </layout>
-    </appender>
-
-    <root>
-        <level value="INFO" />
-        <appender-ref ref="CONSOLE" />
-        <appender-ref ref="FILE" />
-    </root>
-
-</log4j:configuration>

+ 0 - 17
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/resources/xxl-job-executor.properties

@@ -1,17 +0,0 @@
-### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
-xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
-
-### xxl-job, access token
-xxl.job.accessToken=
-
-### xxl-job executor appname
-xxl.job.executor.appname=xxl-job-executor-sample
-### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
-xxl.job.executor.address=
-### xxl-job executor server-info
-xxl.job.executor.ip=
-xxl.job.executor.port=9999
-### xxl-job executor log-path
-xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
-### xxl-job executor log-retention-days
-xxl.job.executor.logretentiondays=30

+ 0 - 32
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/webapp/WEB-INF/web.xml

@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-	id="WebApp_ID" version="2.5">
-
-	<display-name>xxl-job-executor-sample-nutz</display-name>
-	<context-param>
-		<param-name>webAppRootKey</param-name>
-		<param-value>xxl-job-executor-sample-nutz</param-value>
-	</context-param>
-
-	<!-- nutz -->
-	<filter>
-		<filter-name>nutz</filter-name>
-		<filter-class>org.nutz.mvc.NutFilter</filter-class>
-		<init-param>
-			<param-name>modules</param-name>
-			<param-value>com.xuxueli.executor.sample.nutz.MainModule</param-value>
-		</init-param>
-	</filter>
-	<filter-mapping>
-		<filter-name>nutz</filter-name>
-		<url-pattern>/*</url-pattern>
-	</filter-mapping>
-
-
-	<welcome-file-list>
-		<welcome-file>index.html</welcome-file>
-	</welcome-file-list>
-
-</web-app>

+ 0 - 1
xxl-job-executor-samples/xxl-job-executor-sample-nutz/src/main/webapp/index.html

@@ -1 +0,0 @@
-i am alive.