|
|
1
1
我必须同意@jvilalta和@sgmoore的观点,您需要使用JobDataMap来存储有状态的数据。以下是我如何使用JobDataMap属性的示例:
|
|
|
2
0
你是从哪里想到这会奏效的?我从来没有见过这样的例子。 我可能错了,但据我所知,传递给调度程序的NameValueCollection属性是用于配置调度程序本身工作方式的设置。例如,如果您希望调度程序使用sql数据库,您可以将quartz.jobStore.type的值设置为“quartz.Impl.AdoJobStore.JobStoreTX,quartz”。 我假设,如果您传递了调度程序不知道的任何额外属性,它们就会被忽略。 特别是,似乎没有任何方法可以访问调度器上的属性,这再次表明只需要/用于初始化调度器。
JobDataMap似乎正是为了这个目的而设计的。如果有什么原因不适合你,你最好解释一下 为什么? 它不起作用。 |
|
|
3
0
您可以通过实现自定义调度程序工厂和/或自定义作业工厂来实现这一点。默认的计划程序和作业工厂不支持像您描述的那样设置作业属性。正如@sgmoore所指出的,JobDataMap是向作业传递参数的正确方式。 FWIW,您现有的代码将无法工作。调度程序本身需要作为一个单例进行管理,一旦创建了对它的引用,就需要在调度程序需要启动和运行的时间内进行维护。否则,它将被垃圾收集。 这里有一些 posts I wrote 如果你决定实施就业工厂,这可能会引起你的兴趣。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |