1

パラメーターを含むコンストラクターを持つジョブがあり、ジョブ構成ファイルで定義されたパラメーターを渡すことによってオブジェクトをインスタンス化するようにクォーツを構成する方法があるかどうか疑問に思いました。job-data-map要素を使用してみましたが、機能していないようです。これは可能ですか?

ありがとう

4

1 に答える 1

6

ジョブには、パラメーターを必要としないコンストラクターが必要です。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>

次に、ジョブのexecuteメソッドに渡されるデータマップを介してデータにアクセスできます。

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

        string command = data.GetString(PropertyCommand);
于 2012-06-02T13:27:09.163 に答える