2012-06-08 2 views
1

Quartz .NET 설정 파일을 설정할 때 내 감독에 의심 스러웠다. 나는이 게시물 'quartz.net from config xml in asp.net'이 가장 관련성이있는 유사한 게시물에 대한 포럼을 검색했지만, 불행히도 도움이되지 않았습니다. 사람들이 생각할 수있는 도움이나 조언을 주시면 감사하겠습니다.Quartz .NET 작업 유형 설정 문제

나는 내 app.config 파일은 쿼츠 구성을 정의 석영 버전 1을 사용하여 일부 작업을 예약 할 수있는 구성 파일을로드하려고 시도하고있다 :

<quartz> 
     <add key="quartz.scheduler.instanceName" value="QuartzScheduler" /> 
     <!-- Configure Thread Pool --> 
     <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" /> 
     <add key="quartz.threadPool.threadCount" value="10" /> 
     <add key="quartz.threadPool.threadPriority" value="Normal" /> 
     <!-- Configure Job Store --> 
     <add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" /> 
     <add key="quartz.plugin.xml.type" value="Quartz.Plugin.Xml.JobInitializationPlugin, Quartz" /> 
     <add key="quartz.plugin.xml.fileNames" value="~/configuration/quartz_jobs.config" /> 
     <add key="quartz.plugin.xml.scanInterval" value="10" /> 
    </quartz> 

그럼 내 quartz_jobs.config 파일 작업을 정의

<?xml version="1.0" encoding="UTF-8"?> 
<quartz xmlns="http://quartznet.sourceforge.net/JobSchedulingData" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       version="1.0" 
       overwrite-existing-jobs="true"> 

    <job> 
     <job-detail> 
      <name>jobName1</name> 
      <group>jobGroup1</group> 
      <description>jobDesciption1</description> 
      <job-type>FundDataImportScheduler.Jobs.FsdImportJob, FundDataImportScheduler</job-type> 
      <volatile>false</volatile> 
      <durable>true</durable> 
      <recover>false</recover> 
     </job-detail> 

     <trigger> 
      <cron> 
       <name>cronName1</name> 
       <group>cronGroup1</group> 
       <description>CronTriggerDescription</description> 
       <job-name>jobName1</job-name> 
       <job-group>jobGroup1</job-group> 
       <cron-expression>0 0/1 * * * ?</cron-expression> 
      </cron> 
     </trigger> 
    </job> 
</quartz> 

quartz_jobs.config 파일의 노드에 유의하십시오. 노드가 "FundDataImportScheduler.Jobs.FsdImportJob, FundDataImportScheduler을"같을 때

public class FsdImportJob : IJob 
{ 
    public void Execute(JobExecutionContext context) 
    { 
    Console.WriteLine("FsdImportJob triggered"); 
    } 
} 

가 나는 데 문제가, 작업로드가 없습니다 : 나는 IJob를 구현하는 클래스를로드하려합니다. 노드에서 "Quartz.Job.NativeJob, Quartz"의 값을 사용하여 테스트하면 작업이로드됩니다 (그러나 원하는 것은 아닙니다).

FundDataImportScheduler.Jobs.FsdImportJob은 FsdImportJob 클래스의 정확한 네임 스페이스이고 FundDataImportScheduler는 컴파일 된 dll입니다.

완성도를 들어, 나는 석영 SchedulerFactory를 구축하고 구성을로드하기 위해 사용하고있는 코드는 다음과 같습니다

ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); 
IScheduler scheduler = schedulerFactory.GetScheduler(); 
scheduler.Start(); 

나는 내가 잘못 가고 곳으로 어떤 포인터를 감사하겠습니다.

많은 감사,

치마

답변

1

글쎄, 지금은 조금 바보 느낌 - 내가 처음에 콘솔 응용 프로그램에서 FsdImportJob 클래스를했기 때문에 문제가 있었다. Quartz는 FundDataImportScheduler.dll을 기다리고 있었지만 물론 FundDataImportScheduler.exe 만있었습니다.

일단 FsdImportJob을 클래스 라이브러리로 옮기면 Quartz는 컴파일 된 라이브러리를 .dll로드하여 FsdImportJob 클래스를로드 할 수있었습니다.

많은 감사,

치마

+0

는 합리적인 가정처럼 보인다! – tommed

관련 문제