Quartz 와 Spring 을 결합 할 때 어떻게 Job 의 시작 시간 을 동적 으로 업데이트 합 니까?
오늘 아침 한 친구 가 나 에 게 Spring 에서 Quartz 의 시작 시간 을 동적 으로 업데이트 하 는 방법 을 물 었 다. 나 는 다음 과 같이 기록 했다. 동적 으로 업 데 이 트 된 자바 류 는 다음 과 같다.
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class QuartzTest {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
"/applicationContext.xml");
private static String INSTANCE_NAME = "DEFAULT";
public void test() throws Exception {
Scheduler sch = (Scheduler) context.getBean("BatchJobStarting");
JobDetail myJob = sch.getJobDetail("CleanLogJob", INSTANCE_NAME);
CronTrigger newTrigger = new CronTrigger("trig_batch", INSTANCE_NAME,
"0/3 * * * * ?");
JobDetail newJob = (JobDetail) myJob.clone();
sch.deleteJob("CleanLogJob", INSTANCE_NAME);
sch.scheduleJob(newJob, newTrigger);
}
public static void main(String[] args) {
QuartzTest qt = new QuartzTest();
try {
qt.test();
} catch (Exception e) {
e.printStackTrace();
}
}
}
코드 를 비교적 누추 하 게 썼 는데 주로 test () 방법 입 니 다. 여러분 은 자신의 실제 상황 에 따라 다시 발휘 할 수 있 습 니 다. 예 를 들 어 웹 방식 으로 바 꾸 면 context 의 획득 은 웹 응용 프로그램 Context 에서 직접 얻 을 수 있 습 니 다.applicationContext. xml 설정 은 다음 과 같 습 니 다.
<bean id="CleanLogJob"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>com.***.***.biz.log.CleanLogJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="logService">
<ref bean="LogService" />
</entry>
</map>
</property>
</bean>
<bean id="CleanLogJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="CleanLogJob" />
</property>
<property name="cronExpression">
<value>0 0 0 * * ?</value>
</property>
</bean>
<bean id="BatchJobStarting"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="CleanLogJobTrigger" />
</list>
</property>
</bean>
인터넷 에 도 다른 해법 이 있 지만 나 보다 더 복잡 한 것 같 아. 하하...
댓 글:
#
re: Quartz 와 Spring 을 결합 할 때 Job 의 시작 시간 을 어떻게 동적 으로 업데이트 하 는 지 2008 - 03 - 31 18: 09 |
꾀꼬리
여전히 코드 를 사용 해 야 합 니 다. Quartz 자신의 플러그 인 을 사용 하면 정기 적 으로 파일 을 검색 할 수 있 습 니 다. 실행 중 설정 을 바 꾸 어 저장 하면 됩 니 다.
대답 하 다
더 많은 댓 글
#
re: Quartz 와 Spring 을 결합 할 때 Job 의 시작 시간 을 어떻게 동적 으로 업데이트 하 는 지 2008 - 03 - 31 21: 07 |
Robin's Java World
꾀꼬리
이렇게 좋 은 것 도 있 었 구나?이 플러그 인의 문 서 를 소개 하 였 습 니까?
대답 하 다
더 많은 댓 글
#
re: Quartz 와 Spring 을 결합 할 때 Job 의 시작 시간 을 어떻게 동적 으로 업데이트 하 는 지 2008 - 03 - 31 21: 13 |
Robin's Java World
꾀꼬리
JobInitializationPlugin 이라는 플러그 인 말 입 니까?
대답 하 다
더 많은 댓 글
#
re: Quartz 와 Spring 을 결합 할 때 Job 의 시작 시간 을 어떻게 동적 으로 업데이트 하 는 지 2008 - 03 - 31 22: 07 |
꾀꼬리
예, 바로 이것 입 니 다. quartz. properties 에서 설정 파일 이 수정 되 었 는 지 얼마나 설정 할 수 있 는 지 테스트 하고 새로운 내용 을 읽 고 실행 계획 을 조정 할 수 있 습 니 다.
대답 하 다
더 많은 댓 글
#
re: Quartz 와 Spring 을 결합 할 때 Job 의 시작 시간 을 어떻게 동적 으로 업데이트 하 는 지 2008 - 04 - 01 14: 33 |
Robin's Java World
꾀꼬리
감사합니다!
그러나 일반인 들 은 Spring 을 사용 할 때 대부분 applicationContext 에서 정 의 를 내린다.
또한, 이 플러그 인 을 사용 할 때 quartz. properties 에서 설정 한 인 스 턴 스 가 있 는 지 모 르 겠 습 니 다.
대답 하 다
더 많은 댓 글
#
re: Quartz 와 Spring 을 결합 할 때 Job 의 시작 시간 을 어떻게 동적 으로 업데이트 하 는 지 2008 - 04 - 01 19: 57 |
꾀꼬리
나 는 최근 에 《 Quartz Job Scheduling Framework 》 를 번역 하고 있 으 니, 흥미 가 있 으 면 와 서 볼 수 있다.
http://www.blogjava.net/Unmi/category/27619.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.