Developing the Hello World Server


// The package containing our stubs.
import HelloApp.*; // HelloServer will use the naming service.
import org.omg.CosNaming.*; // The package containing special exceptions thrown by the name service.
import org.omg.CosNaming.NamingContextPackage.*; // All CORBA applications need these classes.
import org.omg.CORBA.*;
public class HelloServer
{
  public static void main(String args[])

  {

    try{
  // Create and initialize the ORB 
 ORB orb = ORB.init(args, null); 
    // Create the servant and register it with the ORB 
       
                    HelloServant helloRef = new HelloServant();
                     orb.connect(helloRef); 
      // Get the root naming context 
 
                     org.omg.CORBA.Object objRef = 
orb.resolve_initial_references("NameService");
      NamingContext ncRef = NamingContextHelper.narrow(objRef);
      // Bind the object reference in naming 
      NameComponent nc = new NameComponent("Hello", ""); 
      NameComponent path[] = {nc}; 
      ncRef.rebind(path, helloRef); 
      // Wait for invocations from clients 
      java.lang.Object sync = new java.lang.Object(); 
      synchronized(sync){
        sync.wait(); 
      } 
    } catch(Exception e) { 

        System.err.println("ERROR: " + e);
        e.printStackTrace(System.out); 
      }  
  } 
} 

class HelloServant extends _HelloImplBase 

{ 
  public String sayHello() 

  {
    return "\nHello world!!\n"; 
  
  }

}