Skip to main content

Summary This article describes a potential problem that can be seen when trying to setup a Notification Channel
Environment

Orbix 6.3
All Supported platforms

Question/Problem Description

An attempt to setup the notification channel, after creating a new domain with naming service and notification service resulted in an error.

Clarifying Information

Error Message

$ java com.company.SetupNotifChan
Dec 13, 2013 3:57:10 PM com.sun.corba.se.impl.orb.ORBImpl finishedDispatch
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 261 completed: Yes
at com.sun.corba.se.impl.logging.ORBUtilSystemException.numInvocationsAlreadyZero(ORBUtilSystemException.java:5248)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.numInvocationsAlreadyZero(ORBUtilSystemException.java:5262)
at com.sun.corba.se.impl.orb.ORBImpl.finishedDispatch(ORBImpl.java:1370)
at com.sun.corba.se.impl.orb.ORBImpl.releaseOrDecrementInvocationInfo(ORBImpl.java:1834)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.releaseReply(CorbaClientDelegateImpl.java:156)
at org.omg.CORBA.portable.ObjectImpl._releaseReply(ObjectImpl.java:492)
at CosNotifyChannelAdmin._EventChannelFactoryStub.create_channel(_EventChannelFactoryStub.java:62)
at com.mycompany.SetupNotifChan.main(SetupNotifChan.java:227)

Defect/Enhancement Number
Cause The error message shows that client is using the Sun JDK ORB. This is determined by presence of com.sun.corba.se.impl.orb package in the stack trace which shows that Orbix is not being used at all. 
Resolution

This issue can be fixed by using the Orbix ORB which can be done either programatically by setting the properties:

java.util.Properties props = System.getProperties();
props.put("org.omg.CORBA.ORBClass", "com.iona.corba.art.artimpl.ORBImpl");
props.put("org.omg.CORBA.ORBSingletonClass", "com.iona.corba.art.artimpl.ORBSingleton");
global_orb = ORB.init(args, props);

Or by passing the properties as an argument to the JVM:

java -Dorg.omg.CORBA.ORBClass=com.iona.corba.art.artimpl.ORBImpl -Dorg.omg.CORBA.ORBSingletonClass=com.iona.corba.art.artimpl.ORBSingleton onevu.notif.SetupNotifChan

Setting this will pick up the Orbix 6.x.x Java ORB then and if the environment is configured correctly, then it should pick up the notification service.

Workaround .
Notes
Attachment

#Orbix
#KnowledgeDocs