|
Letzte
Bearbeitung dieses Dokuments: |
Code
Erklärungen
und Anwendungsbeispiele
Verwandte
Dokumentation
package
js_base.frame;
/**
*
* @author kurt(at)javascout[dot]biz
* @date
2010-12-17
*
* @description
* de:
*
Klasse zum periodischen Überwachen, ob die Verbindung zum
Java Application Server (JAS)
* noch existiert.
*
Diese periodische Prüfung ist sinnvoll, wenn der Client im
Modus 'MobileClient' betrieben wird.
* Damit wird auch
ohne Aktivität des Anwenders erkannt, wenn die Verbindung zum
JAS unterbrochen
* ist.
* Das ist
sinnvoll, weil durch wiederholte Versuche des Betriebssystem und des
Java Runtime Systems
* bei einer Unterbrechung der
Verbindung zum JAS bis zu einer Minute eine Aktivität des
Anwenders
* eingeschränkt ist wenn erst bei einer
Abfrage die Unterbrechung zum JAS erkannt wird. *
* en: *
Class to periodically verify if the connection to the Java
Application Server (JAS) still exists.
* This periodic
check is usefull if the client is operated in the mode
'MobileClient'. *
With this class it is possible to detect a lost connection to the JAS
without an activity of the
* user.
* That
is helpful as by repeated trials of the operating-system and the Java
Runtime Systems the
* activity of a user might be
restricted up to one minute if the lost connection is detected
only
* when data is requested from the JAS.
*
* @change-log
*
when who why
*
--------------------------------------------------------
*
*/public
class JSBS_StartFrame__JASMonitor_Thread
extends Thread
{/*
*
de: Variable für die Referenz auf die Klasse, die diesen Thread
gestartet hat.
* en: Variable for the reference to the class
that has started this thread. */ JSBS_StartFrame frmCC;/*
*
de: Variable für die Frequenz der Prüfung der Verbindung
zum JAS.
* en: Variable for the frequency of the
verification of the connection to the JAS.
*/ long intSleepTimeInSeconds;/*
*
-------------------------------
* de:
*
'Constructor' der Klasse.
* Diese spezielle Methode wird
aufgerufen wenn ein Objekt dieser Klasse
* 'konstruiert'
wird.
*
en:
* 'Constructor' of the class.
* This particular
method is called when an object of this class is 'constructed'.
*/
public JSBS_StartFrame__JASMonitor_Thread(JSBS_StartFrame
parmCallingFrame, long
parmSleepTimeInSeconds)
{/*
* de:
Übernehmen der aufrufenden Klasse aus dem Parameter in die
Variable dieser Klasse.
* en: Assign the calling class
from the parameter to the variable of this class. */ frmCC =
parmCallingFrame;/*
* de:
* Übernehmen der Wartezeit bis zur neuen Prüfung
aus dem Parameter in die Variable dieser Klasse.
* en:
* Assign the waiting-time from the parameter to the
variable of this class. */ intSleepTimeInSeconds =
parmSleepTimeInSeconds;
}/* *
------------------------------- *
de: * METHODE,
die automatisch gestartet wird nachdem das Objekt 'konstruiert'
wurde. *
en: *
METHOD that is automatically started after this object is
'constructed'.
*/
public void run()
{/*
*
de: Diese Methode erfordert zwingend eine try/catch-Logik. *
en: A try/catch-logic is mandatory for this methode. */
try {/*
*
de: *
In einer endlosen for-Schleife die Prüfung auf eine existierende
Verbindung zum JAS ausführen. *
en: *
Use an endless for-loop to verify the existing connection to the JAS.
*/
for (;;)
{/*
*
de:
Methode
zum Prüfen der Verbindung zum JAS aufrufen. *
en:
Call
the method to verify the connection to the JAS. */
frmCC.testJASConnection();/*
*
de:
*
Bei der Konstruktion dieses Objektes als Parameter übergebene
Zeit warten bevor die Methode zur *
Prüfung der Verbindung erneut aufgerufen wird. *
en: *
Wait the time that was passed as parameter when this object was
constructed before the method for *
the verification is called again. */
sleep(intSleepTimeInSeconds
*
1000);
}
} catch (Exception
e) {/*
*
de:
*
Es ist unwahrscheinlich, dass in diesem einfachen Thread ein Fehler
auftritt. *
Falls das doch passiert bleibt dieser unbehandelt weil eine
Unterbrechung dieses Threads keine *
wesentliche Auswirkung auf die Funktion des Anwendungsprogramms
hat. *
en: *
The probability of an error within this simple thread is very low. *
If an error occurs anyway, there is no handling of it as a break of
this thread has no significant *
influence of the function of the application-program. */ }
}}
Dieser
Thread wird im Modus 'MobileClient' in der Klasse für das
CommandCenter des Anwedungsprogramms aufgerufen.
Ein Muster für
den Code finden Sie in der Methode initialize_after_frame()
im Dokument Muster-Code
für die Klassen eines Start-Frames.
|
Dokument |
Inhalt |
|
Diesem Muster-Code enthält den Code, der ein Objekt dieser Klasse 'konstruiert' und als nebenläufigen Prozess (Thread) startet. |