配置基础rabbitMQ

This commit is contained in:
APLS
2020-03-16 01:22:59 +08:00
parent 760e26d192
commit d85709c4a2
7 changed files with 180 additions and 123 deletions

View File

@@ -1,33 +0,0 @@
package io.qyi.e5.test;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobListener;
/**
* @program: e5
* @description:
* @author: 落叶随风
* @create: 2020-03-03 09:39
**/
public class MailJobListener implements JobListener {
@Override
public String getName() {
return "listener of mail job";
}
@Override
public void jobToBeExecuted(JobExecutionContext context) {
System.out.println("取消执行:\t "+context.getJobDetail().getKey());
}
@Override
public void jobExecutionVetoed(JobExecutionContext context) {
System.out.println("准备执行:\t "+context.getJobDetail().getKey());
}
@Override
public void jobWasExecuted(JobExecutionContext context, JobExecutionException jobException) {
System.out.println("执行结束:\t "+context.getJobDetail().getKey());
}
}

View File

@@ -1,25 +0,0 @@
package io.qyi.e5.test;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.time.LocalTime;
/**
* @program: e5
* @description:
* @author: 落叶随风
* @create: 2020-03-02 16:37
**/
public class RamJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("启动定时任务......每十秒执行一次,共执行三次");
JobDataMap jobDataMap = jobExecutionContext.getJobDetail().getJobDataMap();
System.out.println(LocalTime.now().toString());
System.out.println(jobDataMap.get("level") + "" + jobDataMap.get("job"));
}
}

View File

@@ -1,65 +0,0 @@
package io.qyi.e5.test;
import org.junit.jupiter.api.Test;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.matchers.KeyMatcher;
/**
* @program: e5
* @description:
* @author: 落叶随风
* @create: 2020-03-02 16:37
**/
public class quartzDome01 {
@Test
public void d0() throws Exception {
try {
demo01();
} catch (SchedulerException e) {
System.err.println("发现任务已经在数据库存在了,直接从数据库里运行:"+ e.getMessage());
// TODO Auto-generated catch block
resumeJobFromDatabase();
}
}
private void resumeJobFromDatabase() throws Exception {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
// 等待200秒让前面的任务都执行完了之后再关闭调度器
Thread.sleep(200000);
scheduler.shutdown(true);
}
public void demo01() throws SchedulerException {
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
JobDetail jobDetail = JobBuilder.newJob(RamJob.class)
.withDescription("this is a job")
.withIdentity("job1", "group1")
.usingJobData("level", "")
.build();
JobDataMap jobDataMap = jobDetail.getJobDataMap();
jobDataMap.put("job","司机");
CronTrigger trigger = TriggerBuilder.newTrigger()
.startNow()
// .withDescription("this is a trigger1")
// .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(3))
.withIdentity("mailjob1", "mailgroup") //定义任务名称和分组
.withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))
.build();
//增加Job监听
MailJobListener mailJobListener = new MailJobListener();
KeyMatcher<JobKey> uKeyMatcher = KeyMatcher.keyEquals(jobDetail.getKey());
scheduler.getListenerManager().addJobListener(mailJobListener,uKeyMatcher);
//将触发器以及调度任务详情绑定到调度器上
scheduler.scheduleJob(jobDetail,trigger);
//启动调度器
scheduler.start();
}
}