Explorar o código

job 定时任务增删查改测试

hotwind %!s(int64=7) %!d(string=hai) anos
pai
achega
e3b58f0340

BIN=BIN
gradle/wrapper/gradle-wrapper.jar


+ 2 - 2
gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +1,6 @@
-#Fri Jan 19 18:47:42 CST 2018
+#Thu Mar 29 09:40:30 CST 2018
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip

+ 2 - 1
zen-job/src/main/kotlin/com/gxzc/zen/job/config/XxlJobConfig.kt

@@ -41,7 +41,7 @@ class XxlJobConfig {
     @Value("\${xxl.job.executor.logretentiondays}")
     private val logRetentionDays: Int = 0
 
-    @Bean
+    @Bean(initMethod = "start",destroyMethod = "destroy")
     fun xxlJobExecutor(): XxlJobExecutor {
         logger.info(">>>>>>>>>>>> xxl-job executor config init...")
         return XxlJobExecutor().also {
@@ -52,6 +52,7 @@ class XxlJobConfig {
             it.setAccessToken(accessToken)
             it.setLogPath(logPath)
             it.setLogRetentionDays(logRetentionDays)
+//            it.start()
         }
     }
 }

+ 35 - 0
zen-job/src/main/kotlin/com/gxzc/zen/job/jobhandler/DeleteJobHandler.kt

@@ -0,0 +1,35 @@
+package com.gxzc.zen.job.jobhandler
+
+import com.gxzc.zen.api.sys.service.ISysDeptService
+import com.xxl.job.core.biz.model.ReturnT
+import com.xxl.job.core.handler.IJobHandler
+import com.xxl.job.core.handler.annotation.JobHandler
+import com.xxl.job.core.log.XxlJobLogger
+import org.slf4j.LoggerFactory
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Component
+
+/**
+ * @Author: Create By liusen
+ * @Date: Create on 16:51 2018/4/8
+ * @Description:
+ */
+@JobHandler("deleteJobHandler")
+@Component
+class DeleteJobHandler : IJobHandler() {
+    @Autowired
+    private lateinit var deptService: ISysDeptService
+
+    companion object {
+        private val logger = LoggerFactory.getLogger(DeleteJobHandler.javaClass)
+    }
+
+    override fun execute(param: String?): ReturnT<String> {
+        XxlJobLogger.log("测试删除开始=================")
+        logger.info("测试删除开始=================")
+        deptService.deleteById(1L)
+        XxlJobLogger.log("测试删除结束=================")
+        logger.info("测试删除结束=================")
+        return SUCCESS
+    }
+}

+ 1 - 1
zen-job/src/main/kotlin/com/gxzc/zen/job/jobhandler/DemoJobHandler.kt

@@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit
 @JobHandler("demoJobHandler")
 @Component
 class DemoJobHandler : IJobHandler() {
-    override fun execute(param: String): ReturnT<String> {
+    override fun execute(param: String): ReturnT<String>{
         XxlJobLogger.log("xxl-job, Hello world!")
         for (i in 1..5) {
             XxlJobLogger.log("beat at: $i")

+ 40 - 0
zen-job/src/main/kotlin/com/gxzc/zen/job/jobhandler/InsertJobHandler.kt

@@ -0,0 +1,40 @@
+package com.gxzc.zen.job.jobhandler
+
+import com.gxzc.zen.api.sys.model.SysDept
+import com.gxzc.zen.api.sys.service.ISysDeptService
+import com.xxl.job.core.biz.model.ReturnT
+import com.xxl.job.core.handler.IJobHandler
+import com.xxl.job.core.handler.annotation.JobHandler
+import com.xxl.job.core.log.XxlJobLogger
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Component
+
+/**
+ * @Author: Create By liusen
+ * @Date: Create on 14:20 2018/4/8
+ * @Description:
+ * 任务Handler示例(Bean模式)
+ *
+ * 开发步骤:
+ * 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
+ * 2、注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例;
+ * 3、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。
+ * 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
+ *
+ */
+@JobHandler("insertJobHandler")
+@Component
+class InsertJobHandler : IJobHandler() {
+    @Autowired
+    private lateinit var deptService: ISysDeptService
+
+    override fun execute(param: String?): ReturnT<String> {
+        XxlJobLogger.log("测试插入开始=================")
+        deptService.insert(SysDept().apply {
+            name = "开发部"
+            principal = "ls"
+        })
+        XxlJobLogger.log("测试插入结束=================")
+        return SUCCESS
+    }
+}

+ 35 - 0
zen-job/src/main/kotlin/com/gxzc/zen/job/jobhandler/SelectJobHandler.kt

@@ -0,0 +1,35 @@
+package com.gxzc.zen.job.jobhandler
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper
+import com.gxzc.zen.api.sys.model.SysDept
+import com.gxzc.zen.api.sys.service.ISysDeptService
+import com.xxl.job.core.biz.model.ReturnT
+import com.xxl.job.core.handler.IJobHandler
+import com.xxl.job.core.handler.annotation.JobHandler
+import com.xxl.job.core.log.XxlJobLogger
+import org.slf4j.LoggerFactory
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Component
+
+/**
+ * @Author: Create By liusen
+ * @Date: Create on 16:56 2018/4/8
+ * @Description:
+ */
+@JobHandler("selectJobHandler")
+@Component
+class SelectJobHandler:IJobHandler() {
+    @Autowired
+    private lateinit var deptService: ISysDeptService
+
+    companion object {
+        private val logger = LoggerFactory.getLogger(DeleteJobHandler.javaClass)
+    }
+    override fun execute(param: String?): ReturnT<String> {
+        XxlJobLogger.log("==============测试查询开始==============")
+        val list = deptService.selectList(EntityWrapper<SysDept>())
+        logger.info("result is :$list")
+        XxlJobLogger.log("==============测试查询结束==============")
+        return ReturnT.SUCCESS
+    }
+}

+ 35 - 0
zen-job/src/main/kotlin/com/gxzc/zen/job/jobhandler/UpdateJobHandler.kt

@@ -0,0 +1,35 @@
+package com.gxzc.zen.job.jobhandler
+
+import com.gxzc.zen.api.sys.model.SysDept
+import com.gxzc.zen.api.sys.service.ISysDeptService
+import com.xxl.job.core.biz.model.ReturnT
+import com.xxl.job.core.handler.IJobHandler
+import com.xxl.job.core.handler.annotation.JobHandler
+import org.slf4j.LoggerFactory
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Component
+
+/**
+ * @Author: Create By liusen
+ * @Date: Create on 17:04 2018/4/8
+ * @Description:
+ */
+@JobHandler("updateJobHandler")
+@Component
+class UpdateJobHandler:IJobHandler() {
+    @Autowired
+    private lateinit var deptService: ISysDeptService
+
+    companion object {
+        private val logger = LoggerFactory.getLogger(DeleteJobHandler.javaClass)
+    }
+    override fun execute(param: String?): ReturnT<String> {
+        logger.info("更新测试开始=========")
+        deptService.updateById(SysDept().apply {
+            id=1
+            principal="更新人:刘森"
+        })
+        logger.info("更新测试开始=========")
+        return ReturnT.SUCCESS
+    }
+}

+ 4 - 4
zen-web/src/main/resources/application-job.yml

@@ -1,12 +1,12 @@
 xxl:
   job:
-    enable: false
+    enable: true
     admin:
-      address: http://127.0.0.1:8080/xxl-job-admin
+      address: http://127.0.0.1:8080
     executor:
       appname: xxl-job-executor-sample
-      ip:
+      ip: 127.0.0.1
       port: 9999
       logpath: /data/applogs/xxl-job/jobhandler
       logretentiondays: -1
-    accessToken: ""
+    accessToken: