tnameserv man page on MacOSX

Man page or keyword search:  
man Server   23457 pages
apropos Keyword Search (all sections)
Output format
MacOSX logo
[printable version]

tnameserv(1)							  tnameserv(1)

NAME
       tnameserv - Java IDL name server starter script

SYNOPSIS
       tnameserv -ORBInitialPort portNumber

DESCRIPTION
       The  CORBA COS (Common Object Services) Naming Service provides a tree-
       like directory for object references much like a filesystem provides  a
       directory  structure  for files.	 The Naming Service provided with Java
       IDL is a simple implementation of the COS Naming Service specification.

       Object references are stored in the namespace by name and  each	object
       reference-name  pair  is	 called	 a name binding.  Name bindings may be
       organized under naming contexts.	 Naming contexts are  themselves  name
       bindings	 and  serve  the same organizational function as a file system
       subdirectory.  All bindings are stored under the	 initial  naming  con‐
       text.  The initial naming context is the only persistent binding in the
       namespace; the rest of the namespace is	lost  if  the  Java  IDL  name
       server process halts and restarts.

       For  an	applet or application to use COS naming, its ORB must know the
       name and port of a host running a naming service or have	 access	 to  a
       stringified  initial  naming  context for that name server.  The naming
       service can either be the Java IDL name server or another COS-compliant
       name service.

USAGE
   Starting the Java IDL Name Server
       You must start the Java IDL name server before an application or applet
       that uses its naming service.  Installation of  the  Java  IDL  product
       creates	a script named tnameserv that starts the Java IDL name server.
       Start the name server so it runs in the background.

       If you do not specify otherwise, the Java IDL name  server  listens  on
       port  900  for  the  bootstrap  protocol	 used  to  implement  the  ORB
       resolve_initial_references()  and  list_initial_references()   methods.
       Specify a different port, for example, 1050, as follows:

	      example% tnameserv -ORBInitialPort 1050

       Clients	of  the name server must be made aware of the new port number.
       Do this by setting the org.omg.CORBA.ORBInitialPort property to the new
       port number when creating the ORB object.

   Stopping the Java IDL Name Server
       To  stop	 the  Java  IDL name server, use the relevant operating system
       command, such as kill(1).  Note that names registered with the Java IDL
       name service disappear when the server is terminated.

   Sample Client: Adding Objects
       The following sample program illustrates how to add names to the names‐
       pace.  It is a self-contained Name Server client that creates the  fol‐
       lowing simple tree.

	       Initial
	    Naming Context
	      /	     \
	     /	      \
	  plans	     personal
		       /\
		      /	 \
	       calendar	  schedule

       In  this	 example,  "plans"  is an object reference and "personal" is a
       naming context that contains  two  object  references:  "calendar"  and
       "schedule".

       import java.util.Properties;
       import org.omg.CORBA.*;
       import org.omg.CosNaming.*;

       public class NameClient
       {
	  public static void main(String args[])
	  {
	     try {

       In the above section, Starting the Java IDL Name Server, the nameserver
       was started on port 1050.  The following code ensures that  the	client
       program is aware of this port number.

	       Properties props = new Properties();
	       props.put("org.omg.CORBA.ORBInitialPort", "1050");
	       ORB orb = ORB.init(args, props);

       The following code obtains the initial naming context and assigns it to
       ctx.  The second line copies ctx into a dummy object reference, objref,
       that we will attach to various names and add into the namespace.

	       NamingContext ctx = NamingContextHelper.narrow
		   (orb.resolve_initial_references("NameService"));
	       NamingContext objref = ctx;

       The  following  code creates a name "plans" of type "text" and binds it
       to our dummy object reference.  "plans" is then added under the initial
       naming  context	using rebind.  The rebind method allows us to run this
       program over and over again without getting the exceptions we would get
       from using bind.

	       NameComponent nc1 = new NameComponent("plans", "text");
	       NameComponent[] name1 = {nc1};
	       ctx.rebind(name1, objref);
	       System.out.println("plans rebind sucessful!");

       The  following  code creates a naming context called "Personal" of type
       "directory".  The resulting object reference, ctx2,  is	bound  to  the
       name and added under the initial naming context.

	       NameComponent nc2 = new NameComponent("Personal", "directory");
	       NameComponent[] name2 = {nc2};
	       NamingContext ctx2 = ctx.bind_new_context(name2);
	       System.out.println("new naming context added..");

       The  remainder  of  the code binds the dummy object reference using the
       names "schedule" and "calendar" under  the  "Personal"  naming  context
       (ctx2).

	       NameComponent nc3 = new NameComponent("schedule", "text");
	       NameComponent[] name3 = {nc3};
	       ctx2.rebind(name3, objref);
	       System.out.println("schedule rebind sucessful!");

	       NameComponent nc4 = new NameComponent("calender", "text");
	       NameComponent[] name4 = {nc4};
	       ctx2.rebind(name4, objref);
	       System.out.println("calender rebind sucessful!");

	   } catch (Exception e) {
	       e.printStackTrace(System.err);
	   }
	 }
       }

   Sample Client: Browsing the Namespace
       The following sample program illustrates how to browse the namespace.

       import java.util.Properties;
       import org.omg.CORBA.*;
       import org.omg.CosNaming.*;

       public class NameClientList
       {
	  public static void main(String args[])
	  {
	     try {

       In the above section, Starting the Java IDL Name Server, the nameserver
       was started on port 1050.  The following code ensures that  the	client
       program is aware of this port number.

	       Properties props = new Properties();
	       props.put("org.omg.CORBA.ORBInitialPort", "1050");
	       ORB orb = ORB.init(args, props);

       The following code obtains the initial naming context.

	       NamingContext nc = NamingContextHelper.narrow
		  (orb.resolve_initial_references("NameService"));

       The  list  method  lists	 the  bindings in the naming context.  In this
       case, up to 1000 bindings from  the  initial  naming  context  will  be
       returned	 in the BindingListHolder; any remaining bindings are returned
       in the BindingIteratorHolder.

	       BindingListHolder bl = new BindingListHolder();
	       BindingIteratorHolder blIt= new BindingIteratorHolder();
	       nc.list(1000, bl, blIt);

       The following code gets the array of bindings out of the returned Bind‐
       ingListHolder.  If there are no bindings, the program ends.

	       Binding bindings[] = bl.value;
	       if (bindings.length == 0) return;

       The  remainder  of  the	code loops through the bindings and prints the
       names out.

	       for (int i=0; i < bindings.length; i++) {

		   // get the object reference for each binding
		   org.omg.CORBA.Object obj = nc.resolve
			    (bindings[i].binding_name);
		   String objStr = orb.object_to_string(obj);
		   int lastIx = bindings[i].binding_name.length-1;

		   // check to see if this is a naming context
		   if (bindings[i].binding_type == BindingType.ncontext) {
		     System.out.println
			    ("Context: " + bindings[i].binding_name[lastIx].id);
		   } else {
		       System.out.println
			      ("Object: " + bindings[i].binding_name[lastIx].id);
		   }
	       }

	      } catch (Exception e) {
	       e.printStackTrace(System.err);
	      }
	  }
       }

SEE ALSO
       kill(1)

				 13 June 2000			  tnameserv(1)
[top]

List of man pages available for MacOSX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net