fix(新增): 添加Quarter
This commit is contained in:
parent
1eea81ead4
commit
837de6ae10
|
@ -20,7 +20,7 @@ public class AdminCodeGenerator {
|
|||
public static final String entity = "Bunny";
|
||||
|
||||
public static void main(String[] args) {
|
||||
Generation("sys_files");
|
||||
Generation("v_schedulers");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -51,7 +51,7 @@ public class AdminCodeGenerator {
|
|||
.strategyConfig(builder -> {
|
||||
// 设置要生成的表名
|
||||
builder.addInclude(tableName)
|
||||
.addTablePrefix("sys_")
|
||||
.addTablePrefix("sys_", "v_")
|
||||
.entityBuilder()
|
||||
.enableLombok()
|
||||
.enableChainModel()
|
||||
|
|
|
@ -3,11 +3,11 @@ package cn.bunny.common.generator.generator;
|
|||
import cn.bunny.common.generator.entity.BaseField;
|
||||
import cn.bunny.common.generator.entity.BaseResultMap;
|
||||
import cn.bunny.common.generator.utils.GeneratorCodeUtils;
|
||||
import cn.bunny.dao.dto.system.email.EmailTemplateAddDto;
|
||||
import cn.bunny.dao.dto.system.email.EmailTemplateDto;
|
||||
import cn.bunny.dao.dto.system.email.EmailTemplateUpdateDto;
|
||||
import cn.bunny.dao.entity.system.EmailTemplate;
|
||||
import cn.bunny.dao.vo.system.email.EmailTemplateVo;
|
||||
import cn.bunny.dao.dto.schedulers.SchedulersAddDto;
|
||||
import cn.bunny.dao.dto.schedulers.SchedulersDto;
|
||||
import cn.bunny.dao.dto.schedulers.SchedulersUpdateDto;
|
||||
import cn.bunny.dao.entity.view.Schedulers;
|
||||
import cn.bunny.dao.vo.schedulers.SchedulersVo;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.google.common.base.CaseFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
@ -51,11 +51,11 @@ public class WebGeneratorCode {
|
|||
public static String resourceMapperPath = "D:\\Project\\web\\PC\\auth\\auth-server-java\\service\\src\\main\\resources\\mapper\\";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
Class<?> originalClass = EmailTemplate.class;
|
||||
Class<?> dtoClass = EmailTemplateDto.class;
|
||||
Class<?> addDtoClass = EmailTemplateAddDto.class;
|
||||
Class<?> updateDtoClass = EmailTemplateUpdateDto.class;
|
||||
Class<?> voClass = EmailTemplateVo.class;
|
||||
Class<?> originalClass = Schedulers.class;
|
||||
Class<?> dtoClass = SchedulersDto.class;
|
||||
Class<?> addDtoClass = SchedulersAddDto.class;
|
||||
Class<?> updateDtoClass = SchedulersUpdateDto.class;
|
||||
Class<?> voClass = SchedulersVo.class;
|
||||
|
||||
// 设置velocity资源加载器
|
||||
Properties prop = new Properties();
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
package cn.bunny.dao.dto.schedulers;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "SchedulersAddDto对象", title = "Schedulers添加表单", description = "Schedulers添加表单")
|
||||
public class SchedulersAddDto {
|
||||
|
||||
@Schema(name = "jobName", title = "任务名称")
|
||||
@NotBlank(message = "任务名称不能为空")
|
||||
@NotNull(message = "任务名称不能为空")
|
||||
private String jobName;
|
||||
|
||||
@Schema(name = "jobGroup", title = "任务分组")
|
||||
@NotBlank(message = "任务分组不能为空")
|
||||
@NotNull(message = "任务分组不能为空")
|
||||
private String jobGroup;
|
||||
|
||||
@Schema(name = "description", title = "任务详情")
|
||||
@NotBlank(message = "任务详情不能为空")
|
||||
@NotNull(message = "任务详情不能为空")
|
||||
private String description;
|
||||
|
||||
@Schema(name = "jobClassName", title = "任务类名称")
|
||||
@NotBlank(message = "corn表达式不能为空")
|
||||
@NotNull(message = "corn表达式不能为空")
|
||||
private String jobClassName;
|
||||
|
||||
@Schema(name = "cronExpression", title = "corn表达式")
|
||||
@NotBlank(message = "corn表达式不能为空")
|
||||
@NotNull(message = "corn表达式不能为空")
|
||||
private String cronExpression;
|
||||
|
||||
@Schema(name = "triggerName", title = "触发器名称")
|
||||
@NotBlank(message = "触发器名称不能为空")
|
||||
@NotNull(message = "触发器名称不能为空")
|
||||
private String triggerName;
|
||||
|
||||
@Schema(name = "triggerState", title = "triggerState触发器状态")
|
||||
@NotBlank(message = "triggerState触发器状态不能为空")
|
||||
@NotNull(message = "triggerState触发器状态不能为空")
|
||||
private String triggerState;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package cn.bunny.dao.dto.schedulers;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "SchedulersDto对象", title = "Schedulers查询表单", description = "Schedulers查询表单")
|
||||
public class SchedulersDto {
|
||||
|
||||
@Schema(name = "jobName", title = "任务名称")
|
||||
private String jobName;
|
||||
|
||||
@Schema(name = "jobGroup", title = "任务分组")
|
||||
private String jobGroup;
|
||||
|
||||
@Schema(name = "description", title = "任务详情")
|
||||
private String description;
|
||||
|
||||
@Schema(name = "jobClassName", title = "任务类名称")
|
||||
@NotNull(message = "corn表达式不能为空")
|
||||
private String jobClassName;
|
||||
|
||||
@Schema(name = "triggerName", title = "触发器名称")
|
||||
private String triggerName;
|
||||
|
||||
@Schema(name = "triggerState", title = "triggerState触发器状态")
|
||||
private String triggerState;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package cn.bunny.dao.dto.schedulers;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "SchedulersUpdateDto对象", title = "Schedulers更新表单", description = "Schedulers更新表单")
|
||||
public class SchedulersUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "jobName", title = "任务名称")
|
||||
@NotBlank(message = "任务名称不能为空")
|
||||
@NotNull(message = "任务名称不能为空")
|
||||
private String jobName;
|
||||
|
||||
@Schema(name = "jobGroup", title = "任务分组")
|
||||
@NotBlank(message = "任务分组不能为空")
|
||||
@NotNull(message = "任务分组不能为空")
|
||||
private String jobGroup;
|
||||
|
||||
@Schema(name = "description", title = "任务详情")
|
||||
@NotBlank(message = "任务详情不能为空")
|
||||
@NotNull(message = "任务详情不能为空")
|
||||
private String description;
|
||||
|
||||
@Schema(name = "jobClassName", title = "任务类名称")
|
||||
@NotBlank(message = "corn表达式不能为空")
|
||||
@NotNull(message = "corn表达式不能为空")
|
||||
private String jobClassName;
|
||||
|
||||
@Schema(name = "cronExpression", title = "corn表达式")
|
||||
@NotBlank(message = "corn表达式不能为空")
|
||||
@NotNull(message = "corn表达式不能为空")
|
||||
private String cronExpression;
|
||||
|
||||
@Schema(name = "triggerName", title = "触发器名称")
|
||||
@NotBlank(message = "触发器名称不能为空")
|
||||
@NotNull(message = "触发器名称不能为空")
|
||||
private String triggerName;
|
||||
|
||||
@Schema(name = "triggerState", title = "triggerState触发器状态")
|
||||
@NotBlank(message = "triggerState触发器状态不能为空")
|
||||
@NotNull(message = "triggerState触发器状态不能为空")
|
||||
private String triggerState;
|
||||
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package cn.bunny.dao.entity.view;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* VIEW
|
||||
* </p>
|
||||
*
|
||||
* @author Bunny
|
||||
* @since 2024-10-14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("v_schedulers")
|
||||
@Schema(name = "Schedulers对象", title = "Schedulers视图", description = "Schedulers视图")
|
||||
public class Schedulers implements Serializable {
|
||||
|
||||
@Schema(name = "jobName", title = "任务名称")
|
||||
private String jobName;
|
||||
|
||||
@Schema(name = "jobGroup", title = "任务分组")
|
||||
private String jobGroup;
|
||||
|
||||
@Schema(name = "description", title = "任务详情")
|
||||
private String description;
|
||||
|
||||
@Schema(name = "jobClassName", title = "任务类名称")
|
||||
private String jobClassName;
|
||||
|
||||
@Schema(name = "cronExpression", title = "corn表达式")
|
||||
private String cronExpression;
|
||||
|
||||
@Schema(name = "triggerName", title = "触发器名称")
|
||||
private String triggerName;
|
||||
|
||||
@Schema(name = "triggerState", title = "triggerState触发器状态")
|
||||
private String triggerState;
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package cn.bunny.dao.vo.schedulers;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "SchedulersVo对象", title = "Schedulers返回内容", description = "Schedulers返回内容")
|
||||
public class SchedulersVo {
|
||||
|
||||
@Schema(name = "jobName", title = "任务名称")
|
||||
private String jobName;
|
||||
|
||||
@Schema(name = "jobGroup", title = "任务分组")
|
||||
private String jobGroup;
|
||||
|
||||
@Schema(name = "description", title = "任务详情")
|
||||
private String description;
|
||||
|
||||
@Schema(name = "jobClassName", title = "任务类名称")
|
||||
@NotNull(message = "corn表达式不能为空")
|
||||
private String jobClassName;
|
||||
|
||||
@Schema(name = "triggerName", title = "触发器名称")
|
||||
private String triggerName;
|
||||
|
||||
@Schema(name = "triggerState", title = "triggerState触发器状态")
|
||||
private String triggerState;
|
||||
|
||||
}
|
|
@ -23,7 +23,7 @@ import java.util.Map;
|
|||
|
||||
/**
|
||||
* <p>
|
||||
* 邮件模板表表 前端控制器
|
||||
* 邮件模板 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author Bunny
|
||||
|
@ -37,7 +37,7 @@ public class EmailTemplateController {
|
|||
@Autowired
|
||||
private EmailTemplateService emailTemplateService;
|
||||
|
||||
@Operation(summary = "分页查询邮件模板表", description = "分页查询邮件模板表")
|
||||
@Operation(summary = "分页查询邮件模板", description = "分页查询邮件模板")
|
||||
@GetMapping("getEmailTemplateList/{page}/{limit}")
|
||||
public Mono<Result<PageResult<EmailTemplateVo>>> getEmailTemplateList(
|
||||
@Parameter(name = "page", description = "当前页", required = true)
|
||||
|
@ -50,28 +50,28 @@ public class EmailTemplateController {
|
|||
return Mono.just(Result.success(pageResult));
|
||||
}
|
||||
|
||||
@Operation(summary = "获取模板类型字段", description = "获取模板类型字段")
|
||||
@Operation(summary = "获取邮件模板类型字段", description = "获取邮件模板类型字段")
|
||||
@GetMapping("getEmailTypes")
|
||||
public Mono<Result<List<Map<String, String>>>> getEmailTypes() {
|
||||
List<Map<String, String>> list = emailTemplateService.getEmailTypes();
|
||||
return Mono.just(Result.success(list));
|
||||
}
|
||||
|
||||
@Operation(summary = "添加邮件模板表", description = "添加邮件模板表")
|
||||
@Operation(summary = "添加邮件模板", description = "添加邮件模板")
|
||||
@PostMapping("addEmailTemplate")
|
||||
public Mono<Result<String>> addEmailTemplate(@Valid @RequestBody EmailTemplateAddDto dto) {
|
||||
emailTemplateService.addEmailTemplate(dto);
|
||||
return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS));
|
||||
}
|
||||
|
||||
@Operation(summary = "更新邮件模板表", description = "更新邮件模板表")
|
||||
@Operation(summary = "更新邮件模板", description = "更新邮件模板")
|
||||
@PutMapping("updateEmailTemplate")
|
||||
public Mono<Result<String>> updateEmailTemplate(@Valid @RequestBody EmailTemplateUpdateDto dto) {
|
||||
emailTemplateService.updateEmailTemplate(dto);
|
||||
return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS));
|
||||
}
|
||||
|
||||
@Operation(summary = "删除邮件模板表", description = "删除邮件模板表")
|
||||
@Operation(summary = "删除邮件模板", description = "删除邮件模板")
|
||||
@DeleteMapping("deleteEmailTemplate")
|
||||
public Mono<Result<String>> deleteEmailTemplate(@RequestBody List<Long> ids) {
|
||||
emailTemplateService.deleteEmailTemplate(ids);
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
package cn.bunny.services.controller;
|
||||
|
||||
import cn.bunny.dao.dto.schedulers.SchedulersAddDto;
|
||||
import cn.bunny.dao.entity.view.Schedulers;
|
||||
import cn.bunny.dao.pojo.result.PageResult;
|
||||
import cn.bunny.dao.pojo.result.Result;
|
||||
import cn.bunny.services.service.SchedulersService;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* VIEW 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author Bunny
|
||||
* @since 2024-10-14
|
||||
*/
|
||||
@Tag(name = "定时任务", description = "定时任务相关接口")
|
||||
@RestController
|
||||
@RequestMapping("admin/schedulers")
|
||||
public class SchedulersController {
|
||||
@Autowired
|
||||
private SchedulersService schedulersService;
|
||||
|
||||
@Operation(summary = "分页查询所有任务", description = "分页查询所有任务")
|
||||
@PostMapping("getSchedulerList/{page}/{limit}")
|
||||
public Result<PageResult<Schedulers>> getSchedulerList(
|
||||
@Parameter(name = "page", description = "当前页", required = true)
|
||||
@PathVariable("page") Integer page,
|
||||
@Parameter(name = "limit", description = "每页记录数", required = true)
|
||||
@PathVariable("limit") Integer limit) {
|
||||
Page<Schedulers> pageParams = new Page<>(page, limit);
|
||||
PageResult<Schedulers> pageResult = schedulersService.getSchedulerList(pageParams);
|
||||
return Result.success(pageResult);
|
||||
}
|
||||
|
||||
@Operation(summary = "添加任务", description = "添加任务")
|
||||
@PostMapping("/addScheduler")
|
||||
public Result<String> addScheduler(@RequestBody SchedulersAddDto dto) {
|
||||
schedulersService.addScheduler(dto);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package cn.bunny.services.mapper;
|
||||
|
||||
import cn.bunny.dao.entity.view.Schedulers;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* VIEW Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author Bunny
|
||||
* @since 2024-10-14
|
||||
*/
|
||||
@Mapper
|
||||
public interface SchedulersMapper extends BaseMapper<Schedulers> {
|
||||
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
package cn.bunny.services.quartz;
|
||||
|
||||
import org.quartz.Scheduler;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.PropertiesFactoryBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
|
||||
@Configuration
|
||||
public class QuartzConfiguration {
|
||||
|
||||
@Autowired
|
||||
private QuartzJobFactory quartzJobFactory;
|
||||
|
||||
/**
|
||||
* 创建调度器工厂
|
||||
* 1.创建SchedulerFactoryBean
|
||||
* 2.加载自定义的quartz.properties配置文件
|
||||
* 3.设置MyJobFactory
|
||||
*
|
||||
* @return SchedulerFactoryBean
|
||||
*/
|
||||
@Bean
|
||||
public SchedulerFactoryBean schedulerFactoryBean() {
|
||||
SchedulerFactoryBean factoryBean = new SchedulerFactoryBean();
|
||||
try {
|
||||
factoryBean.setAutoStartup(true);
|
||||
// 延时3秒启动
|
||||
factoryBean.setStartupDelay(3);
|
||||
factoryBean.setQuartzProperties(quartzProperties());
|
||||
factoryBean.setJobFactory(quartzJobFactory);
|
||||
return factoryBean;
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Properties quartzProperties() throws IOException {
|
||||
PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
|
||||
propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties"));
|
||||
propertiesFactoryBean.afterPropertiesSet();
|
||||
return propertiesFactoryBean.getObject();
|
||||
}
|
||||
|
||||
@Bean(name = "scheduler")
|
||||
public Scheduler scheduler() {
|
||||
return schedulerFactoryBean().getScheduler();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package cn.bunny.services.quartz;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.quartz.spi.TriggerFiredBundle;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
|
||||
import org.springframework.scheduling.quartz.AdaptableJobFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class QuartzJobFactory extends AdaptableJobFactory {
|
||||
|
||||
// 这个对象Spring会帮我们自动注入进来
|
||||
@Autowired
|
||||
private AutowireCapableBeanFactory capableBeanFactory;
|
||||
|
||||
// 重写创建Job任务的实例方法
|
||||
@NotNull
|
||||
@Override
|
||||
protected Object createJobInstance(@NotNull TriggerFiredBundle bundle) throws Exception {
|
||||
Object jobInstance = super.createJobInstance(bundle);
|
||||
// 通过以下方式,解决Job任务无法使用Spring中的Bean问题
|
||||
capableBeanFactory.autowireBean(jobInstance);
|
||||
return super.createJobInstance(bundle);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package cn.bunny.services.service;
|
||||
|
||||
import cn.bunny.dao.entity.view.Schedulers;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* VIEW 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author Bunny
|
||||
* @since 2024-10-14
|
||||
*/
|
||||
public interface SchedulersService extends IService<Schedulers> {
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package cn.bunny.services.service.impl;
|
||||
|
||||
import cn.bunny.dao.entity.view.Schedulers;
|
||||
import cn.bunny.services.mapper.SchedulersMapper;
|
||||
import cn.bunny.services.service.SchedulersService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* VIEW 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author Bunny
|
||||
* @since 2024-10-14
|
||||
*/
|
||||
@Service
|
||||
public class SchedulersServiceImpl extends ServiceImpl<SchedulersMapper, Schedulers> implements SchedulersService {
|
||||
|
||||
}
|
|
@ -48,27 +48,6 @@ spring:
|
|||
wait-for-jobs-to-complete-on-shutdown: true
|
||||
overwrite-existing-jobs: false
|
||||
scheduler-name: quartzScheduler
|
||||
properties:
|
||||
org:
|
||||
quartz:
|
||||
scheduler:
|
||||
# 默认
|
||||
instanceName: RedpigScheduler
|
||||
# 如果使用集群,instanceId必须唯一,设置成AUTO
|
||||
instanceId: AUTO
|
||||
jobStore:
|
||||
# 存储方式使用JobStoreTX 也就是数据库
|
||||
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
|
||||
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||||
# 表名前缀
|
||||
tablePrefix: QRTZ_
|
||||
useProperties: false
|
||||
misfireThreshold: 5000
|
||||
threadPool:
|
||||
class: org.quartz.simpl.SimpleThreadPool
|
||||
threadCount: 20
|
||||
threadPriority: 5
|
||||
threadsInheritContextClassLoaderOfInitializingThread: true
|
||||
|
||||
jackson:
|
||||
date-format: yyyy-MM-dd HH:mm:ss
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.bunny.services.mapper.SchedulersMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="cn.bunny.dao.entity.view.Schedulers">
|
||||
<result column="job_name" property="jobName"/>
|
||||
<result column="job_group" property="jobGroup"/>
|
||||
<result column="description" property="description"/>
|
||||
<result column="job_class_name" property="jobClassName"/>
|
||||
<result column="cron_expression" property="cronExpression"/>
|
||||
<result column="trigger_name" property="triggerName"/>
|
||||
<result column="trigger_state" property="triggerState"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
job_name, job_group, description, job_class_name, cron_expression, trigger_name, trigger_state
|
||||
</sql>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,16 @@
|
|||
org.quartz.scheduler.instanceName=quartzScheduler
|
||||
org.quartz.scheduler.instanceId=AUTO
|
||||
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
|
||||
org.quartz.threadPool.threadCount=20
|
||||
org.quartz.threadPool.threadPriority=5
|
||||
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
|
||||
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
|
||||
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||||
org.quartz.jobStore.tablePrefix=QRTZ_
|
||||
org.quartz.jobStore.dataSource=auth_admin
|
||||
org.quartz.jobStore.misfireThreshold=5000
|
||||
org.quartz.dataSource.auth_admin.driver=com.mysql.cj.jdbc.Driver
|
||||
org.quartz.dataSource.auth_admin.URL=jdbc:mysql://192.168.3.98:3306/auth_admin?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true
|
||||
org.quartz.dataSource.auth_admin.user=root
|
||||
org.quartz.dataSource.auth_admin.password=02120212
|
||||
org.quartz.dataSource.auth_admin.maxConnections=5
|
Loading…
Reference in New Issue