Created On:  20 October 2010

Problem:

  • Product Name: VisiBroker
  • Product Version: 8.0
  • Product Component: Notification Service, VisiNotify
  • Platform/OS Version: All
  • JDK/Compiler Version: All

How to configure VisiNotify so that it can be resolved from Naming Service? 

Resolution:

By default, VisiNotify is registered with osagent.  You may need manually bind object reference into NamingService so that other application can resolve it.
Here is on possible way to do it:
  1. Start osagent
  2. Start the Visinotify with vbroker.notify.channel.iorFile property to store the IOR in a file.
  3. Start Naming Service
  4. Run nsutil tool to register the VisiNotify IOR in the naming service.
    nsutil -VBJprop SVCnameroot=NameService rebind VN `cat <name of ior>` 
  5. Change the consumer and supplier to look up the VisiNotify IOR in the naming service as follows:

    org.omg.CORBA.Object rootObj = orb.resolve_initial_references("NameService");
    NamingContextExt root = NamingContextExtHelper.narrow(rootObj);

    org.omg.CORBA.Object service = root.resolve(root.to_name("VN"));
    org.omg.CosNotifyChannelAdmin.EventChannel channel = org.omg.CosNotifyChannelAdmin.EventChannelHelper.narrow(service);


Please refer to the code snippet on the $VBROKERDIR/examples/vbroker/notify example after getting the EventChannel reference.

Incident #2439463