gpt4 book ai didi

java - 使用 Quartz 的动态作业数据

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:34:03 25 4
gpt4 key购买 nike

当我的进程收到一条消息时,它需要启动一个计时器并在 X 秒内执行一些逻辑。这些作业需要存储在 JDBC 存储中,据我所知,这可能与这个问题无关。

根据我所阅读的内容,我应该能够将具有相似属性的不同值的 JobDataMap 分配给单个作业类,但我找不到任何文档或示例来支持此用例。也许我的谷歌功能很弱。

这有意义吗?有一个 Job 类并以某种方式存储 JobDataMap 以填充该 Job 类并在每条消息的基础上运行它?

最佳答案

org.quartz.TriggergetJobDataMap()(必要时会新建)和 setJobDataMap() 获取触发器的 JobDataMap .

最简单的用法是:

Trigger t = new SimpleTrigger(...);
t.getJobDataMap().put("foo", "bar");

使用现有的值映射初始化:

Map data = new HashMap();
data.put("foo", "bar");

t.setJobDataMap(new JobDataMap(data));

在你的作业执行时获取数据

public void execute(JobExecutionContext context) throws JobExecutionException
{
String fooValue = context.getMergedJobDataMap().get("foo");
}

Documentation on JobDataMap在教程中。

关于java - 使用 Quartz 的动态作业数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5344374/

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