package elte.java2_utikalauz5.corba; import org.omg.CosNaming.*; import org.omg.PortableServer.*; import org.omg.CORBA.*; /** Autobusz megvalósítás szerver oldal. @link.forrásfájl {@docRoot}/../data/corba/src TeherautoServer.java @link.letöltés {@docRoot}/../data/corba TeherautoServer.jar @since Java Útikalauz programozóknak 1.1 */ public class TeherautoServer extends GepjarmuServer implements TeherautoOperations { /** konstruktor */ public TeherautoServer( String r, String t, short m ) { super( r, t); max_terheles = m; } // publikus metódusok public short max_terheles() { return max_terheles; } public void max_terheles(short m) { max_terheles = m; } public String print() { return "teherauto, rendszam = "+rendszam+", tulajdonos = "+tulajdonos+ ", max.terheles = "+max_terheles; } /**attribútumok*/ private short max_terheles; 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(); Teherauto teherauto = new TeherautoPOATie(// Az igazi servant objektumot a Tie objektumba delegáljuk new TeherautoServer("XYZ123", "Fosped", (short)5), rootpoa)._this(orb);// A kiszolgáló objektum létrehozása // Névszolgáltatás elérése org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); // A Teherauto név (szolgáltatás) és a kiszolgáló objektum összekötése String name = "Teherauto"; NameComponent path[] = ncRef.to_name( name ); ncRef.rebind(path, teherauto); // Kliens hívások kiszolgálása System.out.println("Teherauto szerver fut ..."); orb.run(); } catch (Exception e) { System.err.println("ERROR: " + e); e.printStackTrace(System.out); } } }