View Javadoc

1   package fr.in2p3.jsaga.impl.resource.task;
2   
3   import java.util.Timer;
4   import java.util.TimerTask;
5   
6   /* ***************************************************
7   * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
8   * ***             http://cc.in2p3.fr/             ***
9   * ***************************************************
10  * File:   JobStatusPollerTask
11  * Author: Sylvain Reynaud (sreynaud@in2p3.fr)
12  * Date:   28 oct. 2008
13  * ***************************************************
14  * Description:                                      */
15  /**
16   *
17   */
18  public class ResourceStatusPollerTask extends TimerTask {
19      private Timer m_timer;
20      private Runnable m_poller;
21  
22      public ResourceStatusPollerTask(Runnable poller) {
23          m_poller = poller;
24      }
25  
26      public synchronized void start() {
27          int pollPeriod = 5000;
28          m_timer = new Timer();
29          m_timer.schedule(this, 0, pollPeriod);
30      }
31  
32      public synchronized void stop() {
33          m_timer.cancel();
34          m_timer = null;
35      }
36  
37      /** invoked by timer */
38      public void run() {
39          m_poller.run();
40      }
41  }