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();