|
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. |