package elte.java2_utikalauz5.rmi; import java.rmi.*; import java.rmi.activation.*; import java.util.Properties; import java.io.File; /** Bejegyzi a perzisztens naplózó objektumot az RMI névszolgáltatójánál (és persze az aktivációs rendszernél is). Használatakor ne feledjünk el a következő jogokat megadni!
grant signedBy "utikalauz" {
permission java.security.AllPermission;
};
@link.forrásfájl {@docRoot}/../data/rmi/src Inicializal.java
@link.letöltés {@docRoot}/../data/rmi PNaplo.jar
@since Java 2 Útikalauz programozóknak
*/
public class Inicializal {
// Ez az osztály jegyzi be a perzisztens naplózó objektumot
// az rmid és az rmiregistry folyamatoknál
public static void main(String[] args) throws Exception {
System.setSecurityManager(new RMISecurityManager());
Properties p = new Properties();
p.put("java.security.policy", // Az elindítandó Java
"/home/aktiv/POLICY"); // virtuális gép környezeti
// jellemzőinek a beállítása
// Az aktivációs csoporthoz tartozó Java virtuális gép
// indítási paraméterei
ActivationGroupDesc.CommandEnvironment pp = null;
ActivationGroupDesc aktCsop = new ActivationGroupDesc(p, pp);
// A bejegyzéssel megkaphatjuk a csoportazonosítót
ActivationGroupID csopAzon =
ActivationGroup.getSystem().registerGroup(aktCsop);
// Itt hozzuk létre magát a csoportot
ActivationGroup.createGroup(csopAzon, aktCsop, 0);
// Itt kell (lehet) megadni az osztályaink elérési URL-jét
// (ami esetünkben egy directory lesz)
String URL = "file:/home/aktiv/";
// Kezdeti értékként átadjuk a naplófájl nevét
MarshalledObject adat = new MarshalledObject(
new String("Pnaplo.log"));
// Összeállítjuk az aktivációs információs struktúrát
ActivationDesc leíró = new ActivationDesc
(csopAzon, "elte.java2_utikalauz5.rmi.PNaplo", URL, adat);
NaploInterface napi =
(NaploInterface)Activatable.register(leíró);
// Bejegyezzük az objektumot a registrybe
Naming.rebind("Naplo", napi);
System.out.println("Naplózás fut");
System.exit(0); // Lépjünk ki ...
}
}