Java Reference
In-Depth Information
5 . 3 Beispiele
5 . 3 . 1 Hot Deployment
Als Beispiel für ein Hot Deployment wollen wir das Programm aus Listing 5.1 so verä ndern,
dass man den Code einer Methode, die immer wieder aufgerufen wird, verä ndern kann und
diese Änderung dann direkt im laufenden Programm sieht. Der Typ der lokalen Variablen,
die auf das Objekt zeigt, dessen Klasse X aktualisiert werden soll, sollte nicht X sein, da
X — wie oben erläutert — sich nicht im CLASSPATH befi nden darf. Deshalb führen wir eine
Schnittstelle ein für den Typ der lokalen Variablen. Die aus der Übersetzung resultierende
Class-Datei sollte sich im CLASSPATH befi nden. Die Schnittstelle heißt HotDeployment-
Interface und ist in Listing 5.2 zu sehen.
Listing 5.2 Schnittstelle HotDeploymentInterface
package javacomp.basics;
public interface HotDeploymentInterface
{
public void call();
}
Die Klasse, welche die Schnittstelle HotDeploymentInterface implementiert, ist HotDeploy-
mentClass1 (s. Listing 5.3).
Listing 5.3 Klasse HotDeploymentClass1
package javacomp.basics;
public class HotDeploymentClass1 implements HotDeploymentInterface
{
public void call()
{
System.out.println("HotDeploymentClass1: hallo");
new HotDeploymentClass2().call();
}
}
In der Methode call wird nicht nur etwas ausgegeben, wobei die Ausgabe im laufenden
Betrieb geändert werden soll, sondern es wird eine weitere Klasse namens HotDeployment-
Class2 benutzt, die auch eine Call-Methode hat mit einer Bildschirmausgabe. Der Sinn
dieser zweiten Klasse wird später hoff entlich noch deutlich werden.
Listing 5.4 Klasse HotDeploymentClass2
package javacomp.basics;
public class HotDeploymentClass2 implements HotDeploymentInterface
{
public void call()
{
System.out.println("HotDeploymentClass2: hallo");
 
Search WWH ::




Custom Search