2011-03-31 2 views
0

XML로 객체를 정의하고 var xmlApplicationContext = new XmlApplicationContext()을 호출하면 작업이 예약되고 실행됩니다. 내가 성취하고자하는 것은 프로퍼티가 동적 일 것이므로 코드를 통해 이것을하는 것이다. 아래의 메소드 조각은 컴파일되고 실행되지만 작업은 스케줄되지 않는다. 이것이 가능한가?Spring.Net 프로그래밍 방식과 XML 구성

// SpringJob.xml

<objects xmlns="http://www.springframework.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
     <object name="emailNotification" type="Spring.Scheduling.Quartz.JobDetailObject, Spring.Scheduling.Quartz"> 
      <property name="JobType" value="Project.Agent.Jobs.EmailNotification, Project.Agent" /> 
     </object> 
     <object id="simpleTrigger" type="Spring.Scheduling.Quartz.SimpleTriggerObject, Spring.Scheduling.Quartz"> 
      <property name="jobDetail" ref="emailNotification" /> 
      <property name="startDelay" value="1s" /> 
      <property name="repeatInterval" value="1s" /> 
      <property name="repeatCount" value="0" /> 
     </object> 
     <object type="Spring.Scheduling.Quartz.SchedulerFactoryObject, Spring.Scheduling.Quartz"> 
      <property name="triggers"> 
       <list> 
        <ref object="simpleTrigger" /> 
       </list> 
      </property> 
     </object> 
</objects> 

// 방법

var jobDetailObject = new JobDetailObject 
               { 
                JobType = new EmailNotification().GetType() 
               }; 

    var simpleTrigger = new SimpleTriggerObject 
          { 
           JobDetail = jobDetailObject, 
           StartDelay = new TimeSpan(0, 0, 0, 1), 
           RepeatInterval = new TimeSpan(0, 0, 0, 1), 
           RepeatCount = 0 
          }; 

    var scheduleTrigger = new SchedulerFactoryObject(); 
    var triggers = new Trigger[1]; 
    triggers[0] = simpleTrigger; 
    scheduleTrigger.Triggers = triggers; 
    scheduleTrigger.Start(); 

답변

1

대신 내가 직접 Quartz.Net을 사용하고 Quartz.Net의 Spring.Net 프레임 워크 구현을 포기하기로 결정했다.

관련 문제