| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*
- * Copyright (c) 2018-2025, hnqz All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * Neither the name of the pig4cloud.com developer nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- * Author: hnqz
- */
- package net.yyc.quartz.config;
- import cn.hutool.core.util.IdUtil;
- import net.yyc.quartz.constants.JobTypeQuartzEnum;
- import net.yyc.quartz.constants.QuartzEnum;
- import net.yyc.quartz.entity.SysJob;
- import lombok.SneakyThrows;
- import lombok.extern.slf4j.Slf4j;
- import org.quartz.DisallowConcurrentExecution;
- import org.quartz.Job;
- import org.quartz.JobExecutionContext;
- import javax.annotation.Resource;
- /**
- * @author 郑健楠
- *
- * <p>
- * 动态任务工厂
- */
- @Slf4j
- @DisallowConcurrentExecution
- public class QuartzFactory implements Job {
- @Resource
- private QuartzInvokeFactory quartzInvokeFactory;
- @Override
- @SneakyThrows
- public void execute(JobExecutionContext jobExecutionContext) {
- SysJob sysJob = (SysJob) jobExecutionContext.getMergedJobDataMap()
- .get(QuartzEnum.SCHEDULE_JOB_KEY.getType());
- String executionId = IdUtil.fastSimpleUUID();
- String jobType = sysJob.getJobType();
- if (JobTypeQuartzEnum.REST.getType().equals(jobType) || JobTypeQuartzEnum.JAR.getType().equals(jobType)) {
- log.info("[QUARTZ] [{}] 任务开始 | jobId={} jobName={} jobGroup={} type={} url={}",
- executionId, sysJob.getJobId(), sysJob.getJobName(), sysJob.getJobGroup(),
- jobType, sysJob.getExecutePath());
- } else {
- log.info("[QUARTZ] [{}] 任务开始 | jobId={} jobName={} jobGroup={} type={} class={} method={}",
- executionId, sysJob.getJobId(), sysJob.getJobName(), sysJob.getJobGroup(),
- jobType, sysJob.getClassName(), sysJob.getMethodName());
- }
- quartzInvokeFactory.init(sysJob, jobExecutionContext.getTrigger(), executionId);
- }
- }
|