Java Doc for TimeScheduler.java in  » Net » JGroups-2.4.1-sp3 » org » jgroups » util » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Net » JGroups 2.4.1 sp3 » org.jgroups.util 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   java.util.Timer
      org.jgroups.util.TimeScheduler

All known Subclasses:   org.jgroups.util.ImmediateTask,
TimeScheduler
public class TimeScheduler extends Timer (Code)
Fixed-delay & fixed-rate single thread scheduler

The scheduler supports varying scheduling intervals by asking the task every time for its next preferred scheduling interval. Scheduling can either be fixed-delay or fixed-rate. The notions are borrowed from java.util.Timer and retain the same meaning. I.e. in fixed-delay scheduling, the task's new schedule is calculated as:
new_schedule = time_task_starts + scheduling_interval

In fixed-rate scheduling, the next schedule is calculated as:
new_schedule = time_task_was_supposed_to_start + scheduling_interval

The scheduler internally holds a queue of tasks sorted in ascending order according to their next execution time. A task is removed from the queue if it is cancelled, i.e. if TimeScheduler.Task.isCancelled() returns true.

The scheduler internally uses a java.util.SortedSet to keep tasks sorted. java.util.Timer uses an array arranged as a binary heap that doesn't shrink. It is likely that the latter arrangement is faster.

Initially, the scheduler is in SUSPENDed mode, start() need not be called: if a task is added, the scheduler gets started automatically. Calling start() starts the scheduler if it's suspended or stopped else has no effect. Once stop() is called, added tasks will not restart it: start() has to be called to restart the scheduler.
author:
   Bela Ban
version:
   $Id: TimeScheduler.java,v 1.14.2.2 2007/04/27 09:11:18 belaban Exp $


Inner Class :public interface Task
Inner Class :public interface CancellableTask extends Task

Field Summary
final protected static  Loglog
    

Constructor Summary
public  TimeScheduler()
    
public  TimeScheduler(boolean isDaemon)
    

Method Summary
public  voidadd(Task task, boolean relative)
     Add a task for execution at adjustable intervals
Parameters:
  task - the task to execute
Parameters:
  relative - scheduling scheme:

true:
Task is rescheduled relative to the last time it actuallystarted execution

false:
Task is scheduled relative to its last execution schedule.

public  voidadd(Task t)
    
public  voidcancel()
    
public  StringdumpTaskQueue()
    
public  voidschedule(TimerTask task, long delay)
    
public  voidschedule(TimerTask task, long delay, long period)
    
public  voidschedule(TimerTask task, Date firstTime, long period)
    
public  voidschedule(TimerTask task, Date time)
    
public  voidscheduleAtFixedRate(TimerTask task, long delay, long period)
    
public  voidscheduleAtFixedRate(TimerTask task, Date firstTime, long period)
    
public  intsize()
     Returns the number of tasks currently scheduled.
public  voidstart()
    
public  voidstop()
     Stop the scheduler if it's running.

Field Detail
log
final protected static Log log(Code)




Constructor Detail
TimeScheduler
public TimeScheduler()(Code)



TimeScheduler
public TimeScheduler(boolean isDaemon)(Code)




Method Detail
add
public void add(Task task, boolean relative)(Code)
Add a task for execution at adjustable intervals
Parameters:
  task - the task to execute
Parameters:
  relative - scheduling scheme:

true:
Task is rescheduled relative to the last time it actuallystarted execution

false:
Task is scheduled relative to its last execution schedule. Thishas the effect that the time between two consecutive executions ofthe task remains the same.

April 07: the relative argument is ignored, will always be true




add
public void add(Task t)(Code)
Add a task for execution at adjustable intervals
Parameters:
  t - the task to execute



cancel
public void cancel()(Code)



dumpTaskQueue
public String dumpTaskQueue()(Code)



schedule
public void schedule(TimerTask task, long delay)(Code)



schedule
public void schedule(TimerTask task, long delay, long period)(Code)



schedule
public void schedule(TimerTask task, Date firstTime, long period)(Code)



schedule
public void schedule(TimerTask task, Date time)(Code)



scheduleAtFixedRate
public void scheduleAtFixedRate(TimerTask task, long delay, long period)(Code)



scheduleAtFixedRate
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)(Code)



size
public int size()(Code)
Returns the number of tasks currently scheduled. Note that this is an approximation. The number of tasks currently in the queue.



start
public void start()(Code)
Start the scheduler, if it's suspended or stopped



stop
public void stop() throws InterruptedException(Code)
Stop the scheduler if it's running. Switch to stopped, if it's suspended. Clear the task queue.
throws:
  InterruptedException - if interrupted while waiting for threadto return



Methods inherited from java.util.Timer
public void cancel()(Code)(Java Doc)
public int purge()(Code)(Java Doc)
public void schedule(TimerTask task, long delay)(Code)(Java Doc)
public void schedule(TimerTask task, Date time)(Code)(Java Doc)
public void schedule(TimerTask task, long delay, long period)(Code)(Java Doc)
public void schedule(TimerTask task, Date firstTime, long period)(Code)(Java Doc)
public void scheduleAtFixedRate(TimerTask task, long delay, long period)(Code)(Java Doc)
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.