| Author |
Client/server application using CORBA
|
Niranjani Manoharan
Greenhorn
Joined: Apr 14, 2008
Posts: 25
|
|
The specifications of the server side application that i have to write are as follows: Server 1 - �Simple Server� The first POA-based server you need to develop is the �simple server�. This server should perform the following tasks: 1. Start a timer 2. Create 1,000 Count objects with names �My Count1� ... �My Count1000�, and activate each object at the time of its creation 3. Stop the timer and print out the average time to create and activate each counter 4. Register each Count object with the Naming Service (you do not need to time how long this operation takes) 5. Wait for client requests Note that this server does not use a servant manager. The server program i have written is as follows which shows an error at the creation of count servant.I want to know how to debug it: // SimpleServer.java: The Simple Server main program import org.omg.PortableServer.*; import org.omg.CosNaming.*; class SimpleServer { public static void main(String[] args) { try { // Initialize the ORB org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null); // get a reference to the root POA POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); // Create policies for our persistent POA org.omg.CORBA.Policy[] policies = { rootPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT) }; // Create myPOA with the right policies POA myPOA = rootPOA.create_POA( "count_poa", rootPOA.the_POAManager(), policies ); //Start the timer for(int i=0;i<1000;i++) { // Calculate Start time long startTime = System.currentTimeMillis(); // Create the servant CountPOAServant countServant = new CountPOAServant(); //Create the object id MyCount[] c=new MyCount[i]; // Decide on the ID for the servant byte[] countId = "Count".getBytes(); // Activate the servant with the ID on myPOA myPOA.activate_object_with_id(countId, countServant); // Activate the POA manager rootPOA.the_POAManager().activate(); // Calculate stop time; print out statistics long stopTime = System.currentTimeMillis(); System.out.println("Avg Ping = " + ((stopTime - startTime)/1000f) + " msecs"); } // get a reference to the Naming Service root context org.omg.CORBA.Object nameServiceObj = orb.resolve_initial_references("NameService"); if (nameServiceObj == null) { System.out.println("nameServiceObj = null"); return; } NamingContextExt nameService = NamingContextExtHelper.narrow(nameServiceObj); if (nameService == null) { System.out.println("nameService = null"); return; } // bind the Count object in the Naming service NameComponent[] countName = {new NameComponent("MyCount", "")}; nameService.rebind(countName, myPOA.servant_to_reference(countServant)); System.out.println(myPOA.servant_to_reference(countServant) + " is ready."); // Wait for incoming requests System.out.println( orb.object_to_string( myPOA.servant_to_reference(countServant))); orb.run(); } catch(Exception e) { System.err.println(e); } } }
|
Thanks & Regards,<br />Niranjani
|
 |
Anusha Mapati
Greenhorn
Joined: Sep 28, 2011
Posts: 2
|
|
Hey there,
Did you happen to find the solution to your problem because I'm facing the same issue.
Thanks!
|
 |
 |
|
|
subject: Client/server application using CORBA
|
|
|