package elte.java2_utikalauz5.corba; import org.omg.CosNaming.*; import org.omg.PortableServer.*; import org.omg.CORBA.*; /** Gepjarmu megvalósítás szerver oldal. @link.forrásfájl {@docRoot}/../data/corba/src GepjarmuServer.java @link.letöltés {@docRoot}/../data/corba GepjarmuServer.jar @since Java Útikalauz programozóknak 1.1 */ public class GepjarmuServer extends GepjarmuPOA { /** konstruktor */ public GepjarmuServer( String r, String t) { rendszam = r; tulajdonos = t; } // publikus metódusok public String rendszam() { return rendszam; } public String tulajdonos() { return rendszam; } public String print() { return "Altalanos gepjarmu, rendszam = "+rendszam+ ", tulajdonos = "+tulajdonos; } //attribútumok protected String rendszam; protected String tulajdonos; public static void main(String args[]) { try{ // Az ORB inicializálása ORB orb = ORB.init(args, null); POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootpoa.the_POAManager().activate(); // A kiszolgáló objektum létrehozása Gepjarmu gepjarmu = new GepjarmuServer("ABC123", "Valaki")._this(orb); // Névszolgáltatás elérése org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); // A Gepjarmu név (szolgáltatás) és a kiszolgáló objektum összekötése String name = "Gepjarmu"; NameComponent path[] = ncRef.to_name( name ); ncRef.rebind(path, gepjarmu); // Kliens hívások kiszolgálása System.out.println("Gepjarmu szerver fut ..."); orb.run(); } catch (Exception e) { System.err.println("ERROR: " + e); e.printStackTrace(System.out); } } }