refactor(framework): 重构框架核心组件
- 修改 SpringBeanHolder 类名,统一命名风格 - 更新相关类的包结构,提高代码可维护性 - 优化部分代码实现,提升性能和可读性
This commit is contained in:
@@ -10,6 +10,7 @@ yarn-error.log*
|
|||||||
tests/**/coverage/
|
tests/**/coverage/
|
||||||
tests/e2e/reports
|
tests/e2e/reports
|
||||||
selenium-debug.log
|
selenium-debug.log
|
||||||
|
cutejava-doc
|
||||||
|
|
||||||
# Editor directories and files
|
# Editor directories and files
|
||||||
.idea
|
.idea
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
+1
-1
@@ -28,7 +28,7 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class CsBeanLoadFinishListener implements ApplicationListener<ContextRefreshedEvent> {
|
public class BeanLoadFinishListener implements ApplicationListener<ContextRefreshedEvent> {
|
||||||
@Override
|
@Override
|
||||||
public void onApplicationEvent(ContextRefreshedEvent event) {
|
public void onApplicationEvent(ContextRefreshedEvent event) {
|
||||||
log.info("所有的Bean都加载完毕了");
|
log.info("所有的Bean都加载完毕了");
|
||||||
+3
-3
@@ -31,10 +31,10 @@ import java.net.UnknownHostException;
|
|||||||
* @date 2024-04-20
|
* @date 2024-04-20
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class CsBootApplication {
|
public class BootApplication {
|
||||||
@Bean
|
@Bean
|
||||||
public SpringBeanHolder springBeanHolder() {
|
public CsSpringBeanHolder springBeanHolder() {
|
||||||
return new SpringBeanHolder();
|
return new CsSpringBeanHolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static void inited(ConfigurableApplicationContext application) throws UnknownHostException {
|
protected static void inited(ConfigurableApplicationContext application) throws UnknownHostException {
|
||||||
+1
-1
@@ -9,7 +9,7 @@ import java.util.Objects;
|
|||||||
/**
|
/**
|
||||||
* 获取 HttpServletRequest
|
* 获取 HttpServletRequest
|
||||||
*/
|
*/
|
||||||
public class RequestHolder {
|
public class CsRequestHolder {
|
||||||
|
|
||||||
public static HttpServletRequest getHttpServletRequest() {
|
public static HttpServletRequest getHttpServletRequest() {
|
||||||
return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
||||||
+8
-8
@@ -15,7 +15,7 @@ import java.util.List;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@SuppressWarnings({"unchecked", "all"})
|
@SuppressWarnings({"unchecked", "all"})
|
||||||
public class SpringBeanHolder implements ApplicationContextAware, DisposableBean {
|
public class CsSpringBeanHolder implements ApplicationContextAware, DisposableBean {
|
||||||
|
|
||||||
private static ApplicationContext applicationContext = null;
|
private static ApplicationContext applicationContext = null;
|
||||||
private static final List<CallBack> CALL_BACKS = new ArrayList<>();
|
private static final List<CallBack> CALL_BACKS = new ArrayList<>();
|
||||||
@@ -29,7 +29,7 @@ public class SpringBeanHolder implements ApplicationContextAware, DisposableBean
|
|||||||
*/
|
*/
|
||||||
public synchronized static void addCallBacks(CallBack callBack) {
|
public synchronized static void addCallBacks(CallBack callBack) {
|
||||||
if (addCallback) {
|
if (addCallback) {
|
||||||
SpringBeanHolder.CALL_BACKS.add(callBack);
|
CsSpringBeanHolder.CALL_BACKS.add(callBack);
|
||||||
} else {
|
} else {
|
||||||
log.warn("CallBack:{} 已无法添加!立即执行", callBack.getCallBackName());
|
log.warn("CallBack:{} 已无法添加!立即执行", callBack.getCallBackName());
|
||||||
callBack.executor();
|
callBack.executor();
|
||||||
@@ -109,22 +109,22 @@ public class SpringBeanHolder implements ApplicationContextAware, DisposableBean
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
SpringBeanHolder.clearHolder();
|
CsSpringBeanHolder.clearHolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||||
if (SpringBeanHolder.applicationContext != null) {
|
if (CsSpringBeanHolder.applicationContext != null) {
|
||||||
log.warn("SpringContextHolder中的ApplicationContext被覆盖, 原有ApplicationContext为:" + SpringBeanHolder.applicationContext);
|
log.warn("SpringContextHolder中的ApplicationContext被覆盖, 原有ApplicationContext为:" + CsSpringBeanHolder.applicationContext);
|
||||||
}
|
}
|
||||||
SpringBeanHolder.applicationContext = applicationContext;
|
CsSpringBeanHolder.applicationContext = applicationContext;
|
||||||
if (addCallback) {
|
if (addCallback) {
|
||||||
for (CallBack callBack : SpringBeanHolder.CALL_BACKS) {
|
for (CallBack callBack : CsSpringBeanHolder.CALL_BACKS) {
|
||||||
callBack.executor();
|
callBack.executor();
|
||||||
}
|
}
|
||||||
CALL_BACKS.clear();
|
CALL_BACKS.clear();
|
||||||
}
|
}
|
||||||
SpringBeanHolder.addCallback = false;
|
CsSpringBeanHolder.addCallback = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
+1
-1
@@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@RequestMapping("/healthCheck")
|
@RequestMapping("/healthCheck")
|
||||||
@Api(tags = "系统:健康检查接口")
|
@Api(tags = "系统:健康检查接口")
|
||||||
public class CsHealthCheckController {
|
public class HealthCheckController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private CsHealthCheckPointService healthCheckPointService;
|
private CsHealthCheckPointService healthCheckPointService;
|
||||||
|
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package cn.odboy.framework.quartz.core;
|
package cn.odboy.framework.quartz.core;
|
||||||
|
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.CsSpringBeanHolder;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.util.ReflectionUtils;
|
import org.springframework.util.ReflectionUtils;
|
||||||
@@ -18,7 +18,7 @@ public class QuartzRunnable implements Callable<Object> {
|
|||||||
private final String params;
|
private final String params;
|
||||||
|
|
||||||
public QuartzRunnable(String beanName, String methodName, String params) throws NoSuchMethodException, SecurityException {
|
public QuartzRunnable(String beanName, String methodName, String params) throws NoSuchMethodException, SecurityException {
|
||||||
this.target = SpringBeanHolder.getBean(beanName);
|
this.target = CsSpringBeanHolder.getBean(beanName);
|
||||||
this.params = params;
|
this.params = params;
|
||||||
if (StringUtils.isNotBlank(params)) {
|
if (StringUtils.isNotBlank(params)) {
|
||||||
this.method = target.getClass().getDeclaredMethod(methodName, String.class);
|
this.method = target.getClass().getDeclaredMethod(methodName, String.class);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package cn.odboy.util;
|
package cn.odboy.util;
|
||||||
|
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.CsSpringBeanHolder;
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import net.dreamlu.mica.ip2region.core.Ip2regionSearcher;
|
import net.dreamlu.mica.ip2region.core.Ip2regionSearcher;
|
||||||
import net.dreamlu.mica.ip2region.core.IpInfo;
|
import net.dreamlu.mica.ip2region.core.IpInfo;
|
||||||
@@ -17,7 +17,7 @@ public final class IpUtil {
|
|||||||
/**
|
/**
|
||||||
* 注入bean
|
* 注入bean
|
||||||
*/
|
*/
|
||||||
private final static Ip2regionSearcher IP_SEARCHER = SpringBeanHolder.getBean(Ip2regionSearcher.class);
|
private final static Ip2regionSearcher IP_SEARCHER = CsSpringBeanHolder.getBean(Ip2regionSearcher.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据ip获取详细地址
|
* 根据ip获取详细地址
|
||||||
|
|||||||
+8
-8
@@ -10,7 +10,7 @@ import cn.odboy.devops.dal.mysql.PipelineInstanceMapper;
|
|||||||
import cn.odboy.devops.dal.redis.PipelineInstanceDAO;
|
import cn.odboy.devops.dal.redis.PipelineInstanceDAO;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||||
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.CsSpringBeanHolder;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -33,11 +33,11 @@ public class PipelineJobBean implements InterruptableJob {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
||||||
// 获取服务
|
// 获取服务
|
||||||
PipelineInstanceMapper pipelineInstanceMapper = SpringBeanHolder.getBean(PipelineInstanceMapper.class);
|
PipelineInstanceMapper pipelineInstanceMapper = CsSpringBeanHolder.getBean(PipelineInstanceMapper.class);
|
||||||
PipelineInstanceNodeService pipelineInstanceNodeService = SpringBeanHolder.getBean(PipelineInstanceNodeService.class);
|
PipelineInstanceNodeService pipelineInstanceNodeService = CsSpringBeanHolder.getBean(PipelineInstanceNodeService.class);
|
||||||
PipelineInstanceDAO pipelineInstanceDAO = SpringBeanHolder.getBean(PipelineInstanceDAO.class);
|
PipelineInstanceDAO pipelineInstanceDAO = CsSpringBeanHolder.getBean(PipelineInstanceDAO.class);
|
||||||
PipelineJobManage pipelineJobManage = SpringBeanHolder.getBean(PipelineJobManage.class);
|
PipelineJobManage pipelineJobManage = CsSpringBeanHolder.getBean(PipelineJobManage.class);
|
||||||
PipelineNodeJobManage pipelineNodeJobManage = SpringBeanHolder.getBean(PipelineNodeJobManage.class);
|
PipelineNodeJobManage pipelineNodeJobManage = CsSpringBeanHolder.getBean(PipelineNodeJobManage.class);
|
||||||
|
|
||||||
// 参数解析
|
// 参数解析
|
||||||
JobDataMap jobDataMap = jobExecutionContext.getMergedJobDataMap();
|
JobDataMap jobDataMap = jobExecutionContext.getMergedJobDataMap();
|
||||||
@@ -160,8 +160,8 @@ public class PipelineJobBean implements InterruptableJob {
|
|||||||
public void interrupt() throws UnableToInterruptJobException {
|
public void interrupt() throws UnableToInterruptJobException {
|
||||||
this.interrupted = true;
|
this.interrupted = true;
|
||||||
if (this.currentInstanceId != null && StrUtil.isNotBlank(this.currentNodeCode)) {
|
if (this.currentInstanceId != null && StrUtil.isNotBlank(this.currentNodeCode)) {
|
||||||
PipelineInstanceMapper pipelineInstanceMapper = SpringBeanHolder.getBean(PipelineInstanceMapper.class);
|
PipelineInstanceMapper pipelineInstanceMapper = CsSpringBeanHolder.getBean(PipelineInstanceMapper.class);
|
||||||
PipelineInstanceDAO pipelineInstanceDAO = SpringBeanHolder.getBean(PipelineInstanceDAO.class);
|
PipelineInstanceDAO pipelineInstanceDAO = CsSpringBeanHolder.getBean(PipelineInstanceDAO.class);
|
||||||
|
|
||||||
int seconds = 30_000;
|
int seconds = 30_000;
|
||||||
log.info("中断信号已发出,等待最多 {} 秒,若未自行结束则强制终止线程", seconds);
|
log.info("中断信号已发出,等待最多 {} 秒,若未自行结束则强制终止线程", seconds);
|
||||||
|
|||||||
+3
-3
@@ -5,7 +5,7 @@ import cn.odboy.devops.constant.pipeline.PipelineStatusEnum;
|
|||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeJobExecuteResult;
|
||||||
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
import cn.odboy.devops.framework.pipeline.model.PipelineNodeTemplateVo;
|
||||||
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
import cn.odboy.devops.service.core.PipelineInstanceNodeService;
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.CsSpringBeanHolder;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.quartz.Job;
|
import org.quartz.Job;
|
||||||
@@ -25,7 +25,7 @@ import java.util.Date;
|
|||||||
public class PipelineNodeJobBean implements Job {
|
public class PipelineNodeJobBean implements Job {
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
||||||
PipelineInstanceNodeService pipelineInstanceNodeService = SpringBeanHolder.getBean(PipelineInstanceNodeService.class);
|
PipelineInstanceNodeService pipelineInstanceNodeService = CsSpringBeanHolder.getBean(PipelineInstanceNodeService.class);
|
||||||
|
|
||||||
JobDataMap jobDataMap = jobExecutionContext.getMergedJobDataMap();
|
JobDataMap jobDataMap = jobExecutionContext.getMergedJobDataMap();
|
||||||
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
long instanceId = jobDataMap.getLong(PipelineConst.INSTANCE_ID);
|
||||||
@@ -34,7 +34,7 @@ public class PipelineNodeJobBean implements Job {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
String serviceName = PipelineConst.EXECUTOR_PREFIX + nodeCode;
|
String serviceName = PipelineConst.EXECUTOR_PREFIX + nodeCode;
|
||||||
PipelineNodeJobExecutor pipelineNodeJobExecutor = SpringBeanHolder.getBean(serviceName);
|
PipelineNodeJobExecutor pipelineNodeJobExecutor = CsSpringBeanHolder.getBean(serviceName);
|
||||||
pipelineInstanceNodeService.updatePipelineInstanceNodeByArgs(instanceId, nodeCode, PipelineStatusEnum.RUNNING, PipelineStatusEnum.RUNNING.getDesc());
|
pipelineInstanceNodeService.updatePipelineInstanceNodeByArgs(instanceId, nodeCode, PipelineStatusEnum.RUNNING, PipelineStatusEnum.RUNNING.getDesc());
|
||||||
PipelineNodeJobExecuteResult executeResult = pipelineNodeJobExecutor.execute(jobDataMap);
|
PipelineNodeJobExecuteResult executeResult = pipelineNodeJobExecutor.execute(jobDataMap);
|
||||||
jobExecutionContext.getMergedJobDataMap().put(PipelineConst.LAST_NODE_RESULT, executeResult);
|
jobExecutionContext.getMergedJobDataMap().put(PipelineConst.LAST_NODE_RESULT, executeResult);
|
||||||
|
|||||||
+2
-2
@@ -2,7 +2,7 @@ package cn.odboy.system.controller;
|
|||||||
|
|
||||||
import cn.odboy.base.CsPageArgs;
|
import cn.odboy.base.CsPageArgs;
|
||||||
import cn.odboy.base.CsResultVo;
|
import cn.odboy.base.CsResultVo;
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.CsSpringBeanHolder;
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
|
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
|
||||||
import cn.odboy.system.dal.dataobject.SystemQuartzLogTb;
|
import cn.odboy.system.dal.dataobject.SystemQuartzLogTb;
|
||||||
@@ -120,7 +120,7 @@ public class SystemQuartzJobController {
|
|||||||
private void checkBean(String beanName) {
|
private void checkBean(String beanName) {
|
||||||
// 避免调用攻击者可以从SpringContextHolder获得控制jdbcTemplate类
|
// 避免调用攻击者可以从SpringContextHolder获得控制jdbcTemplate类
|
||||||
// 并使用getDeclaredMethod调用jdbcTemplate的queryForMap函数,执行任意sql命令。
|
// 并使用getDeclaredMethod调用jdbcTemplate的queryForMap函数,执行任意sql命令。
|
||||||
if (!SpringBeanHolder.getAllServiceBeanName().contains(beanName)) {
|
if (!CsSpringBeanHolder.getAllServiceBeanName().contains(beanName)) {
|
||||||
throw new BadRequestException("非法的 Bean,请重新输入!");
|
throw new BadRequestException("非法的 Bean,请重新输入!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import cn.hutool.jwt.JWT;
|
import cn.hutool.jwt.JWT;
|
||||||
import cn.hutool.jwt.JWTUtil;
|
import cn.hutool.jwt.JWTUtil;
|
||||||
import cn.odboy.constant.SystemConst;
|
import cn.odboy.constant.SystemConst;
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.CsSpringBeanHolder;
|
||||||
import cn.odboy.system.constant.SystemDataScopeEnum;
|
import cn.odboy.system.constant.SystemDataScopeEnum;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
@@ -32,7 +32,7 @@ public class CsSecurityHelper {
|
|||||||
* @return UserDetails
|
* @return UserDetails
|
||||||
*/
|
*/
|
||||||
public static UserDetails getCurrentUser() {
|
public static UserDetails getCurrentUser() {
|
||||||
UserDetailsService userDetailsService = SpringBeanHolder.getBean(UserDetailsService.class);
|
UserDetailsService userDetailsService = CsSpringBeanHolder.getBean(UserDetailsService.class);
|
||||||
return userDetailsService.loadUserByUsername(getCurrentUsername());
|
return userDetailsService.loadUserByUsername(getCurrentUsername());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -5,7 +5,7 @@ import cn.hutool.extra.template.Template;
|
|||||||
import cn.hutool.extra.template.TemplateConfig;
|
import cn.hutool.extra.template.TemplateConfig;
|
||||||
import cn.hutool.extra.template.TemplateEngine;
|
import cn.hutool.extra.template.TemplateEngine;
|
||||||
import cn.hutool.extra.template.TemplateUtil;
|
import cn.hutool.extra.template.TemplateUtil;
|
||||||
import cn.odboy.framework.context.SpringBeanHolder;
|
import cn.odboy.framework.context.CsSpringBeanHolder;
|
||||||
import cn.odboy.framework.quartz.core.QuartzRunnable;
|
import cn.odboy.framework.quartz.core.QuartzRunnable;
|
||||||
import cn.odboy.framework.redis.RedisHelper;
|
import cn.odboy.framework.redis.RedisHelper;
|
||||||
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
|
import cn.odboy.system.dal.dataobject.SystemQuartzJobTb;
|
||||||
@@ -31,16 +31,16 @@ public class ExecutionJobBean extends QuartzJobBean {
|
|||||||
/**
|
/**
|
||||||
* 此处仅供参考,可根据任务执行情况自定义线程池参数
|
* 此处仅供参考,可根据任务执行情况自定义线程池参数
|
||||||
*/
|
*/
|
||||||
private final ThreadPoolTaskExecutor executor = SpringBeanHolder.getBean("taskAsync");
|
private final ThreadPoolTaskExecutor executor = CsSpringBeanHolder.getBean("taskAsync");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executeInternal(JobExecutionContext context) {
|
public void executeInternal(JobExecutionContext context) {
|
||||||
// 获取任务
|
// 获取任务
|
||||||
SystemQuartzJobTb quartzJob = (SystemQuartzJobTb) context.getMergedJobDataMap().get(SystemQuartzJobTb.JOB_KEY);
|
SystemQuartzJobTb quartzJob = (SystemQuartzJobTb) context.getMergedJobDataMap().get(SystemQuartzJobTb.JOB_KEY);
|
||||||
// 获取spring bean
|
// 获取spring bean
|
||||||
SystemQuartzLogMapper quartzLogMapper = SpringBeanHolder.getBean(SystemQuartzLogMapper.class);
|
SystemQuartzLogMapper quartzLogMapper = CsSpringBeanHolder.getBean(SystemQuartzLogMapper.class);
|
||||||
SystemQuartzJobService systemQuartzJobService = SpringBeanHolder.getBean(SystemQuartzJobService.class);
|
SystemQuartzJobService systemQuartzJobService = CsSpringBeanHolder.getBean(SystemQuartzJobService.class);
|
||||||
RedisHelper redisHelper = SpringBeanHolder.getBean(RedisHelper.class);
|
RedisHelper redisHelper = CsSpringBeanHolder.getBean(RedisHelper.class);
|
||||||
|
|
||||||
String uuid = quartzJob.getUuid();
|
String uuid = quartzJob.getUuid();
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@ public class ExecutionJobBean extends QuartzJobBean {
|
|||||||
systemQuartzJobService.switchQuartzJobStatus(quartzJob);
|
systemQuartzJobService.switchQuartzJobStatus(quartzJob);
|
||||||
}
|
}
|
||||||
if (quartzJob.getEmail() != null) {
|
if (quartzJob.getEmail() != null) {
|
||||||
SystemEmailService emailService = SpringBeanHolder.getBean(SystemEmailService.class);
|
SystemEmailService emailService = CsSpringBeanHolder.getBean(SystemEmailService.class);
|
||||||
// 邮箱报警
|
// 邮箱报警
|
||||||
if (StringUtil.isNoneBlank(quartzJob.getEmail())) {
|
if (StringUtil.isNoneBlank(quartzJob.getEmail())) {
|
||||||
SystemSendEmailArgs sendEmailRequest = taskAlarm(quartzJob, ExceptionUtil.stacktraceToString(e));
|
SystemSendEmailArgs sendEmailRequest = taskAlarm(quartzJob, ExceptionUtil.stacktraceToString(e));
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package cn.odboy;
|
package cn.odboy;
|
||||||
|
|
||||||
import cn.odboy.framework.context.CsBootApplication;
|
import cn.odboy.framework.context.BootApplication;
|
||||||
import com.anwen.mongo.config.MongoPlusAutoConfiguration;
|
import com.anwen.mongo.config.MongoPlusAutoConfiguration;
|
||||||
import com.anwen.mongo.config.OverrideMongoConfiguration;
|
import com.anwen.mongo.config.OverrideMongoConfiguration;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@@ -13,7 +13,7 @@ import java.net.UnknownHostException;
|
|||||||
@Api(hidden = true)
|
@Api(hidden = true)
|
||||||
@SpringBootApplication(exclude = OverrideMongoConfiguration.class)
|
@SpringBootApplication(exclude = OverrideMongoConfiguration.class)
|
||||||
@Import(MongoPlusAutoConfiguration.class)
|
@Import(MongoPlusAutoConfiguration.class)
|
||||||
public class AppRun extends CsBootApplication {
|
public class AppRun extends BootApplication {
|
||||||
|
|
||||||
public static void main(String[] args) throws UnknownHostException {
|
public static void main(String[] args) throws UnknownHostException {
|
||||||
SpringApplication springApplication = new SpringApplication(AppRun.class);
|
SpringApplication springApplication = new SpringApplication(AppRun.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user