【问题标题】:Configuring jobs with parameters in quartz.net xml job definition file在quartz.net xml 作业定义文件中使用参数配置作业
【发布时间】:2012-06-02 21:27:09
【问题描述】:

我有一个作业,它有一个包含参数的构造函数,我想知道是否可以通过传递作业配置文件中定义的参数来配置石英以实例化对象。我试过使用 job-data-map 元素,但这似乎不起作用。这有可能吗?

谢谢

【问题讨论】:

  • 我无法理解您的问题?你能对这个问题做更多的描述吗?
  • 当我使用配置文件来配置我的作业时,对于任何具有非空构造函数的作业,我都会收到 Quartz.SchedulerException。

标签: c# .net-4.0 quartz.net


【解决方案1】:

作业必须有一个不需要参数的构造函数。为了通过 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>

然后就可以通过传入job的execute方法的data map来访问数据了:

    public virtual void Execute(IJobExecutionContext context)
    {
        JobDataMap data = context.MergedJobDataMap;

        string command = data.GetString(PropertyCommand);

【讨论】:

    猜你喜欢
    • 2014-11-27
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多