|
Elexis API documentationVersion 2.1.6 as of December 11 2011 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectch.elexis.actions.Heartbeat
public class Heartbeat
Heartbeat is an event source, that fires events at user-definable intervals to all HeartListeners. All actions that must be repeated regularly should be registered as HeartListener. They will all be called at about the specified rate, but not in a guaranteed particular order and not necessarily at exactly identical intervals. Heartbeat löst das Pinger-Konzept ab. Der Heartbeat ist ein Singleton, das alle Hub.localCfg.get(heartbeatrate,30) Sekunden einen Event feuert. Wer reglmässige Aktionen durchführen will, kann sich als HeartbeatListener registrieren. Dieses Konzept hat gegenüber individuellen update-Threads den Vorteil, dass die Netzwerk- und Datenbankbelastung, sowie die Zahl der gleichzeitig laufenden Threads limitiert wird. Der Heartbeat sorgt dafür, dass die listener der Reihe nach (aber ncht in einer definierten Reihenfolge) aufgerufen werden. The client registering a listener can define the frequency, whether the listener should be called at every single heart beat or at a lower frequency.
Nested Class Summary | |
---|---|
static interface |
Heartbeat.HeartListener
|
Field Summary | |
---|---|
static int |
FREQUENCY_HIGH
Registering a listener using FREQUENCY_HIGH, it is called at every single heartbeat. |
static int |
FREQUENCY_LOW
Registering a listener using FREQUENCY_LOW, it is called at every 16th heartbeat. |
static int |
FREQUENCY_MEDIUM
Registering a listener using FREQUENCY_MEDIUM, it is called at every 4th heartbeat. |
Method Summary | |
---|---|
void |
addListener(Heartbeat.HeartListener listen)
Einen Listener registrieren. |
void |
addListener(Heartbeat.HeartListener listen,
int frequency)
Add listener using the specified frequency. |
static Heartbeat |
getInstance()
Das Singleton holen |
void |
removeListener(Heartbeat.HeartListener listen)
Einen Listener wieder austragen |
void |
resume(boolean immediately)
Heartbeat (wieder) laufen lassen. |
void |
stop()
Heartbeat stoppen (kann dann nicht mehr gestartet werden) |
void |
suspend()
Heartbeat aussetzen (geht im Hintergrund weiter, wird aber nicht mehr weitergeleitet) |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int FREQUENCY_HIGH
public static final int FREQUENCY_MEDIUM
public static final int FREQUENCY_LOW
Method Detail |
---|
public static Heartbeat getInstance()
public void resume(boolean immediately)
immediately
- true: Sofort einen ersten beat losschicken, false: im normalen Rhythmus bleiben.public void suspend()
public void stop()
public void addListener(Heartbeat.HeartListener listen)
listen
- der Listenerpublic void addListener(Heartbeat.HeartListener listen, int frequency)
listener
- frequency
- the frequency to call this listener. One of FREQUENCY_HIGH, FREQUENCY_MEDIUM,
FREQUENCY_LOWpublic void removeListener(Heartbeat.HeartListener listen)
listen
-
|
Elexis API documentationVersion 2.1.6 as of December 11 2011 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |