MyCron.java 파일에 선언 된 메소드를 실행하는 Quartz Cron Scheduler가 Spring 프로젝트에 있습니다. quartz.xml 파일에서 , 나는이 형식으로 콩을 구성한 :DB에서 가져온 값에 따라 Quartz Cron Scheduler를 실행하십시오.
<beans>
<bean id="wakeUsers" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="mycron" />
<property name="targetMethod" value="wakeUsers" />
</bean>
<bean id="wakeUsersCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="wakeUsers" />
<property name="timeZone" ref="timeZone" />
<property name="cronExpression" value="0 0/5 * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="wakeUsers" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="wakeUsersCronTrigger" />
</list>
</property>
</bean>
</beans>
이 잘 실행됩니다. 질문은 현재 생산중인 3 대의 기계를 사용하고 있으며 cron은 3 대의 모든 기계에서 즉시 실행됩니다. 기계 이름대로 cron을 실행하고 싶습니다. 특정 컴퓨터 이름이 속성의 컴퓨터 이름과 일치하면 cron은 그렇지 않은 경우 실행해야합니다.
Java 코드를 통해 DB의 내 속성을 내 컴퓨터의 이름과 일치시킨 다음 내 방법을 추가로 실행하고 싶습니다.
public boolean testRun(){
try {
InetAddress ip = InetAddress.getLocalHost();
String hostName = ip.getHostName();
if(nodeName.equalsIgnoreCase(hostName)){
return true;
}
} catch (UnknownHostException e) {
logger.error("Error: Unknown Host");
}
return false;
}
public void wakeUsers() throws Exception{
if (testRun()) {
myService.wakeUsers();
}
}
어떤 도움이
을 주시면 감사하겠습니다을 : 내가 현재 가지고은 다음 구현했습니다.
효과가있을 수 있습니다. 그러나 내가 찾고있는 다른 것들이 있습니다. –