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