can*_*ado 3 java spring quartz-scheduler
当我的进程收到消息时,它需要启动一个计时器并在X秒内执行一些逻辑.这些作业需要存储在JDBC存储中,据我所知,这可能与此问题无关.
根据我读过的内容,我应该能够为一个Job类分配一个具有不同类似属性值的JobDataMap,但是我无法找到任何文档或示例来支持这个用例.也许我的Google-fu很弱.
那有意义吗?有一个Job类,并以某种方式存储JobDataMap来填充该Job类并在每个消息的基础上运行它?
org.quartz.Trigger有两个getJobDataMap()(new必要时会增加一个)并 setJobDataMap()获得触发器的JobDataMap.
最简单的用法是:
Trigger t = new SimpleTrigger(...);
t.getJobDataMap().put("foo", "bar");
Run Code Online (Sandbox Code Playgroud)
要使用现有的值映射进行初始化:
Map data = new HashMap();
data.put("foo", "bar");
t.setJobDataMap(new JobDataMap(data));
Run Code Online (Sandbox Code Playgroud)
在作业执行时获取数据
public void execute(JobExecutionContext context) throws JobExecutionException
{
String fooValue = context.getMergedJobDataMap().get("foo");
}
Run Code Online (Sandbox Code Playgroud)
本教程中有关JobDataMap的文档.
| 归档时间: |
|
| 查看次数: |
8326 次 |
| 最近记录: |