스프링 콩을 사용하여 방법을 실행하는 방법
-
05-07-2019 - |
문제
MnGTIMPL 클래스의 FindItemByPidendDate () 메소드는 5000ms마다 호출 되려면 아무 일도 일어나지 않는 것으로 보입니다. 내가 뭔가를 놓치고 있습니까?
<bean id="findItemByPIdEndDate" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="MngtImpl"/>
<property name="targetMethod" value="findItemByPIdEndDate"/>
<property name="repeatInterval" value="50000"/>
</bean>
@Matt B 나는 이것의 일부를 읽었습니다. 모든 것이 나에게 새로운 것입니다 .. 그래서 나는 이것과 함께 왔습니다 .. 그리고 다시는 작동하지 않습니다.
<bean id="findItemByPIdEndDate" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="MngtImpl" />
<property name="targetMethod" value="findItemByPIdEndDate" />
</bean>
<bean id="compareDateTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="findItemByPIdEndDate" />
<property name="startDelay" value="0" />
<property name="repeatInterval" value="50000" />
</bean>
해결책
이 작업을 위해 23 장. 스케줄링 및 스레드 풀링은 친구입니다. 즉, 여기에 짧은 요약이 있습니다.
먼저 정의하십시오 Job
:
<bean id="findItemByPIdEndDate" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="MngtImpl"/>
<property name="targetMethod" value="findItemByPIdEndDate"/>
</bean>
이제 트리거와 SchedulerFactoryBean
. 방아쇠의 경우 a를 사용하는 것이 좋습니다 SimpleTriggerBean
귀하의 경우 :
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!-- see the example of method invoking job above -->
<property name="jobDetail" ref="findItemByPIdEndDate" />
<!-- 10 seconds -->
<property name="startDelay" value="10000" />
<!-- repeat every 50 seconds -->
<property name="repeatInterval" value="50000" />
</bean>
모든 것을 마무리하려면 설정하십시오 SchedulerFactoryBean
:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
다른 팁
석영을 만들기 위해서는 더 많은 배관이 필요합니다. 그냥 선언합니다 MethodInvokingJobDetailFactoryBean
그 자체로는 아무것도하지 않을 것입니다.
그러나 Quartz는 이에 대한 과잉입니다. Java5+는 자체적으로이를 수행 할 수 있습니다. 나는 봄에 읽는 것이 좋습니다 ScheduleDexecutorFactoryBean, 그와 함께 MethodInvokingRunnable, 메소드를 주기적으로 호출 할 수 있습니다.
지금까지 한 일은 MethodinVokingJobdetailFactoryBean ()을 인스턴스화하는 것과 같습니다. 이제 예약 방법과 트리거에 대한 구성이 필요합니다.
보세요 석영의 스프링 매뉴얼 섹션.