diff --git a/src/main/java/com/youlai/system/framework/xxljob/XxlJobConfig.java b/src/main/java/com/youlai/system/framework/xxljob/XxlJobConfig.java new file mode 100644 index 00000000..967ffe58 --- /dev/null +++ b/src/main/java/com/youlai/system/framework/xxljob/XxlJobConfig.java @@ -0,0 +1,61 @@ +package com.youlai.system.framework.xxljob; + +import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * xxl-job config + * + * @author xuxueli 2017-04-28 + */ +@Configuration +@ConditionalOnProperty(name = "xxl.job.enabled")// xxl.job.enabled = true 才会自动配置 +@Slf4j +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; + } + +} diff --git a/src/main/java/com/youlai/system/framework/xxljob/XxlJobSampleHandler.java b/src/main/java/com/youlai/system/framework/xxljob/XxlJobSampleHandler.java new file mode 100644 index 00000000..95f3ce94 --- /dev/null +++ b/src/main/java/com/youlai/system/framework/xxljob/XxlJobSampleHandler.java @@ -0,0 +1,21 @@ +package com.youlai.system.framework.xxljob; + +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.springframework.stereotype.Component; + +import java.util.concurrent.TimeUnit; + +@Component +public class XxlJobSampleHandler { + @XxlJob("demoJobHandler") + public void demoJobHandler() throws Exception { + XxlJobHelper.log("XXL-JOB, Hello World."); + + for (int i = 0; i < 5; i++) { + XxlJobHelper.log("beat at:" + i); + TimeUnit.SECONDS.sleep(2); + } + } + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 916487c8..8f498106 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -78,7 +78,26 @@ springdoc: enabled: true # 验证码配置 -easycaptcha: +easy-captcha: enable: true + # 验证码类型: arithmetic-算术 type: arithmetic - ttl: 120 \ No newline at end of file + # 验证码有效时间(单位:秒) + ttl: 120 + +# xxl-job 定时任务配置 +xxl: + job: + # xxl-job 开关 + enabled: false + admin: + # 多个地址使用,分割 + addresses: http://127.0.0.1:8080/xxl-job-admin + accessToken: default_token + executor: + appname: xxl-job-executor-${spring.application.name} + address: + ip: + port: 9999 + logpath: /data/applogs/xxl-job/jobhandler + logretentiondays: 30 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 2e167a03..b9fc0970 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -61,7 +61,26 @@ springdoc: enabled: true # 验证码配置 -easycaptcha: +easy-captcha: enable: true + # 验证码类型: arithmetic-算术 type: arithmetic + # 验证码有效时间(单位:秒) ttl: 120 + +# xxl-job 定时任务配置 +xxl: + job: + # xxl-job 开关 + enabled: false + admin: + # 多个地址使用,分割 + addresses: http://127.0.0.1:8080/xxl-job-admin + accessToken: default_token + executor: + appname: xxl-job-executor-${spring.application.name} + address: + ip: + port: 9999 + logpath: /data/applogs/xxl-job/jobhandler + logretentiondays: 30 diff --git a/src/test/resources/application-dev.properties b/src/test/resources/application-dev.properties deleted file mode 100644 index 9b55ad6c..00000000 --- a/src/test/resources/application-dev.properties +++ /dev/null @@ -1 +0,0 @@ -config.name: application-dev.properties \ No newline at end of file diff --git a/src/test/resources/application-dev.yml b/src/test/resources/application-dev.yml deleted file mode 100644 index 4cc7d75a..00000000 --- a/src/test/resources/application-dev.yml +++ /dev/null @@ -1,59 +0,0 @@ -config: - name: application-dev.yml - -server: - port: 8989 - -spring: - datasource: - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://www.youlai.tech:3306/youlai_boot?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=true - username: youlai - password: 123456 - data: - redis: - database: 6 - host: www.youlai.tech - port: 6379 - password: 123456 - timeout: 10s - lettuce: - pool: - min-idle: 0 - max-idle: 8 - max-active: 8 - max-wait: -1ms - -mybatis-plus: - global-config: - db-config: - # 主键ID类型 - id-type: none - logic-delete-field: deleted - logic-delete-value: 1 - logic-not-delete-value: 0 - configuration: - # 驼峰下划线转换 - map-underscore-to-camel-case: true - # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - -# 认证配置 -auth: - token: - secret_key: SecretKey012345678901234567890123456789012345678901234567890123456789 - # token 有效期(单位:秒) - token_validity: 18000 - -# MinIO 分布式文件系统 -minio: - endpoint: http://localhost:9000 - access-key: minioadmin - secret-key: minioadmin - # 存储桶名称 - bucket-name: default - # 自定义域名(非必须),Nginx配置反向代理转发文件路径 - custom-domain: - - diff --git a/src/test/resources/application-test.yml b/src/test/resources/application-test.yml deleted file mode 100644 index b4cdca7f..00000000 --- a/src/test/resources/application-test.yml +++ /dev/null @@ -1,2 +0,0 @@ -config: - name: application-test.yml \ No newline at end of file diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties deleted file mode 100644 index de89d5be..00000000 --- a/src/test/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -config.name: application.properties \ No newline at end of file diff --git a/src/test/resources/application.yml b/src/test/resources/application.yml deleted file mode 100644 index a3270974..00000000 --- a/src/test/resources/application.yml +++ /dev/null @@ -1,8 +0,0 @@ -spring: - application: - name: youlai-boot - profiles: - active: dev - -config: - name: application.yml \ No newline at end of file