2011-01-04 6 views
3

私は春には新しいです。私は10秒ごとにメソッドを呼び出すschedularを実装しました。クラスメソッドからquartz schedularを開始および停止するにはどうすればよいですか?春のスケジュール

<bean id="bidApprovalJob" 
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
     <property name="targetObject" ref="bidApprovalOperations" /> 
     <property name="targetMethod" value="checkExpiredAuctions" /> 
     </bean> 
    <!-- Simple Trigger --> 
    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> 
     <property name="jobDetail" ref="bidApprovalJob" /> 
     <property name="repeatInterval" value="10000" /> 
    <!-- 5second delay mentioned in milliseconds --> 
     <property name="startDelay" value="5000" /> 
     </bean> 
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="jobDetails"> 
    <list> 
     <ref bean="bidApprovalJob" /> 
     </list> 
     </property> 
    <property name="triggers"> 
    <list> 
     <ref bean="simpleTrigger" /> 
     </list> 
     </property> 
     </bean> 

、のように見える。しかし、このschedularはすべての時間を実行します。 ユーザーがボタンをクリックして一定時間後に停止すると、実行時にスケジュールが開始されます。

私のクラスメソッドからスケジュールを開始できますか?あるクラスでschedularのインスタンスを作成し、それを開始して停止することはできますか?

ありがとうございます。

答えて

3

SchedulerFactoryBeanによって作成されたschedulerには、トリガの起動を制御するために使用できるstandby()メソッドとstart()メソッドがあります。

+0

私のクラスでスケグルビーンを取得したい。 getbeanメソッドを使用して、コントローラクラス内でBeanを取得するにはどうすればよいですか?これは動的Webアプリケーションです。任意のサンプル構文が役立ちます。ありがとうございました。 – Sagar

+1

スケジューラー(スケジューラー・ファクトリー・ビーン・クラスによって作成されたもの)を使用してBeanにIDを与え、それをアクセスする必要のある他のBeanに注入します。 – Stas

+0

私は他のbeanに注入したくありません。自分のクラスメソッドでschedularのインスタンスを作成したいどうすれば私のクラスメソッドでこのBean(Schedular)にアクセスできますか? – Sagar

関連する問題