| | |
| | | /** |
| | | * Copyright (c) 2018 人人开源 All rights reserved. |
| | | * |
| | | * https://www.renren.io |
| | | * |
| | | * 版权所有,侵权必究! |
| | | */ |
| | | |
| | | package com.iailab.module.data.job.utils; |
| | | |
| | | import com.iailab.framework.common.constant.Constant; |
| | | import com.iailab.framework.common.exception.ExceptionUtils; |
| | | import com.iailab.framework.common.util.spring.SpringContextUtils; |
| | | import com.iailab.module.data.job.entity.ScheduleJobEntity; |
| | | import com.iailab.framework.tenant.core.context.TenantContextHolder; |
| | | import com.iailab.module.data.job.entity.ScheduleJobEntity; |
| | | import com.iailab.module.data.job.entity.ScheduleJobLogEntity; |
| | | import com.iailab.module.data.job.service.ScheduleJobLogService; |
| | | import org.quartz.DisallowConcurrentExecution; |
| | | import org.quartz.JobExecutionContext; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | * |
| | | * @author Mark sunlightcs@gmail.com |
| | | */ |
| | | @DisallowConcurrentExecution |
| | | public class ScheduleJob extends QuartzJobBean { |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | |
| | | ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap(). |
| | | get(ScheduleUtils.JOB_PARAM_KEY); |
| | | |
| | | //设置当前租户 |
| | | TenantContextHolder.setTenantId(scheduleJob.getTenantId()); |
| | | Long tenantId = TenantContextHolder.getRequiredTenantId(); |
| | | |
| | | //数据库保存执行记录 |
| | | ScheduleJobLogEntity log = new ScheduleJobLogEntity(); |
| | | log.setId(System.currentTimeMillis()); |
| | | log.setJobId(scheduleJob.getId()); |
| | | log.setBeanName(scheduleJob.getBeanName()); |
| | | log.setParams(scheduleJob.getParams()); |
| | | log.setCreateDate(new Date()); |
| | | log.setTenantId(tenantId); |
| | | |
| | | //任务开始时间 |
| | | long startTime = System.currentTimeMillis(); |
| | |
| | | log.setError(ExceptionUtils.getErrorStackTrace(e)); |
| | | }finally { |
| | | //获取spring bean |
| | | /*ScheduleJobLogService scheduleJobLogService = SpringContextUtils.getBean(ScheduleJobLogService.class); |
| | | scheduleJobLogService.insert(log);*/ |
| | | ScheduleJobLogService scheduleJobLogService = SpringContextUtils.getBean(ScheduleJobLogService.class); |
| | | scheduleJobLogService.insert(log); |
| | | } |
| | | } |
| | | } |