Listing 3. PushSupplier.java
import org.omg.CosNaming.*;
import logging.*;
public class PushSupplier
{
public static void main(String args[])
{
// Initiliaze the ORB.
org.omg.CORBA.ORB orb =
org.omg.CORBA.ORB.init(args,null);
String logname;
if( args.length > 0 )
logname = args[0];
else
logname = "default supplier";
// bind to the Log Service
// LogService logger = LogServiceHelper.bind(orb,
// "LogService");
LogService logger = null;
try
{
org.omg.CORBA.Object objRef =
orb.resolve_initial_references("NameService");
org.omg.CosNaming.NamingContext rootContext =
org.omg.CosNaming.NamingContextHelper.narrow(objRef);
NameComponent comp1 = new NameComponent(
"Linux Journal","");
NameComponent comp2 = new NameComponent(
"LJEventChannel","ec");
NameComponent [] name = {comp1, comp2};
org.omg.CORBA.Object rObjRef =
rootContext.resolve(name);
logger = LogServiceHelper.narrow(rObjRef);
}
catch(Exception e)
{
System.out.println("Exception: " + e);
}
if( logger == null )
{
System.out.println("logger is null");
return;
}
else
System.out.println("logger is NOT null");
System.out.println("bound the Log Service");
// use user-supplied args as the
// supplier's name, or use a default.
System.out.println("supplier
[" + logname + "] entering send loop");
while(true)
{
try
{
System.out.println("supplier
[" + logname + "] sending a string now...");
logger.send(
"this is the string from supplier [" + logname + "]");
Thread.sleep(2000);
}
catch( InterruptedException e )
{
System.out.println(
"Received InterruptedException: " + e);
}
}
}
}