我有一个作业,它有一个包含参数的构造函数,我想知道是否可以通过传递作业配置文件中定义的参数来配置 quartz 来实例化对象。我试过使用 job-data-map 元素,但这似乎不起作用。这有可能吗?
谢谢
最佳答案
作业必须有一个不需要参数的构造函数。为了通过 xml 将参数传递给作业,请像这样使用 xml:
<job>
<name>nativeJobExample</name>
<group>nativeJobExampleGroup</group>
<description>Sample job for Quartz Server</description>
<job-type>Quartz.Job.NativeJob, Quartz</job-type>
<job-data-map>
<entry>
<key>command</key>
<value>native_job_example.bat</value>
</entry>
<entry>
<key>consumeStreams</key>
<value>true</value>
</entry>
</job-data-map>
</job>
然后您可以通过传入作业的执行方法的数据映射来访问数据:
public virtual void Execute(IJobExecutionContext context)
{
JobDataMap data = context.MergedJobDataMap;
string command = data.GetString(PropertyCommand);
关于c# - 使用 quartz.net xml 作业定义文件中的参数配置作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854222/