gpt4 book ai didi

java - 查找当前正在执行 Quartz 作业的线程!

转载 作者:行者123 更新时间:2023-12-04 06:25:06 25 4
gpt4 key购买 nike

我正在寻找解决方案来获取当前执行 quartz 作业的线程名称。在我的应用程序中,quartz 是使用属性配置的,而作业触发器是 DB 驱动的。

在这里,我正在实例化 quartz 并启动它。

StdSchedulerFactory factory = new StdSchedulerFactory(configFile);
Scheduler scheduler = factory.getScheduler();
scheduler.addGlobalJobListener(new QuartzJobListener());
scheduler.addGlobalTriggerListener(new QuartzTriggerListener());
scheduler.start();

能够获得 quartz JOB 和 TRIGGER 详细信息如下,
try{
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
List<JobExecutionContext> jobList = scheduler.getCurrentlyExecutingJobs();
for(JobExecutionContext jobExecutionContext : jobList){
// JOB Details
JobDetail jobDetail = jobExecutionContext.getJobDetail();
String strJobName = jobDetail.getName();
String strDescription = jobDetail.getDescription();

// Trigger Details
Trigger trigger = jobExecutionContext.getTrigger();
String strTriggerName = trigger.getName();
String strFireInstanceId = trigger.getFireInstanceId();
int state = scheduler.getTriggerState(trigger.getName(),trigger.getGroup());
}
}catch(Exception e){
e.printStackTrace();
}

我的问题是 - 如何获取正在执行当前作业的线程名称?

这是 Question解决了同样的问题,但截至目前还没有得到任何解决方案的答复。

最佳答案

你可以添加一个

private Thread thead;

变量到您的 Job 类和 execute()方法,设置
thread = Thread.currentThread();

关于java - 查找当前正在执行 Quartz 作业的线程!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6135913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com