Note that there are some explanatory texts on larger screens.

plurals
  1. POInitializing Corba notification service in java successfully but cannot get any events in linux but it's done in windows
    primarykey
    data
    text
    <p>I got a headache about a freaky error when i'm testing my application written in Java. The problem is here: I've written my application used CORBA connection technology. It's an CORBA client application module. In windows environment, the events was pushed successfully but in linux (both redhat and ubuntu) it wasn't. However, it's so freaky that i can call any CORBA functions and get the returned data exactly. I debugged my code, and saw that the initialization of CORBA connection and notification service was successful. In Linux OS, the firewall was disabled and the port 12002 was unused by any applications. It has no any exceptions here. So, could you explain for me what the reason can be here. I have less experience about CORBA. It's so complicated for newbie like me. Help me, please!</p> <p>P/s: + The initialize code is below:</p> <pre><code> Properties props = new Properties(); /*props.setProperty("borland.enterprise.licenseDefaultDir", "C:/Borland/VisiBroker/license");*/ props.setProperty("org.omg.CORBA.ORBClass", "com.inprise.vbroker.orb.ORB"); props.setProperty("org.omg.CORBA.ORBSingletonClass", "com.inprise.vbroker.orb.ORBSingleton"); props.setProperty("javax.rmi.CORBA.StubClass", "com.inprise.vbroker.rmi.CORBA.StubImpl"); props.setProperty("javax.rmi.CORBA.UtilClass", "com.inprise.vbroker.rmi.CORBA.UtilImpl"); props.setProperty("javax.rmi.CORBA.PortableRemoteObjectClass", "com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl"); props.setProperty("vbroker.agent.enableLocator", "false"); props.setProperty("vbroker.orb.initRef", "NotificationService=corbaloc::x.x.x.x:12002/NotificationService"); try { System.out.println("orb = org.omg.CORBA.ORB.init(new String[0], props);"); orb = org.omg.CORBA.ORB.init(new String[0], props); } catch (Exception e) { System.out.println("Fail initial orb for Noti-Service.."+e); System.exit(1); } try { org.omg.CORBA.Object poa = orb.resolve_initial_references("RootPOA"); rootPoa = POAHelper.narrow(poa); } catch (org.omg.CORBA.ORBPackage.InvalidName e) { System.out.println("Can't get RootPOA"+ e); System.exit(1); } try { rootPoa.the_POAManager().activate(); System.out.println("rootPoa.the_POAManager().activate();"); } catch (org.omg.PortableServer.POAManagerPackage.AdapterInactive ex) { System.out.println("Can't activate POAManager"+ex); System.exit(1); } Runtime.getRuntime().addShutdownHook(new Thread(new ShutdownHook(orb))); Thread thread = new Thread() { public void run() { orb.run(); } }; thread.setName("OpenFusion ORB thread"); thread.start(); </code></pre> <ul> <li><p>The method getObject():</p> <p>private StructuredPushConsumer getObject() { StructuredPushConsumer serverObj = null;</p> <pre><code> org.omg.PortableServer.Servant servant = new StructuredPushConsumerPOATie(this, rootPoa); try { org.omg.CORBA.Object ref = rootPoa.servant_to_reference(servant); serverObj = StructuredPushConsumerHelper.narrow(ref); } catch (ServantNotActive e) { System.out.println("Unexpected Exception: "+e); System.exit(1); } catch (WrongPolicy e) { System.out.println("Unexpected Exception: "+e); System.exit(1); } return serverObj; } </code></pre></li> <li><p>The connect() method:</p> <pre><code> public void connect() { /* Defines the type of proxy required */ ClientType ctype = ClientType.STRUCTURED_EVENT; /* Holder to hold the proxy id */ org.omg.CORBA.IntHolder pid = new org.omg.CORBA.IntHolder(); /* Proxy supplier variable */ ProxySupplier proxySupplier = null; /* Obtain the consumer admin object reference */ ConsumerAdmin admin = channel.default_consumer_admin(); try { /* obtain a structured push supplier object reference. */ proxySupplier = ((ConsumerAdminOperations) admin).obtain_notification_push_supplier(ctype, pid); System.out.println("proxySupplier = ((ConsumerAdminOperations) admin).obtain_notification_push_supplier(ctype, pid);"); } catch (AdminLimitExceeded ex) { /* * Thrown if the admin object is unable to have any more proxy suppliers associated with it. */ System.err.println("Maximum number of proxies exceeded!"); System.exit(1); } /* Narrow the proxy supplier to a Structured Proxy Push Supplier */ proxy = StructuredProxyPushSupplierHelper.narrow(proxySupplier); try { /* connect the consumer to the proxy */ proxy.connect_structured_push_consumer(getObject()); System.out.println("proxy.connect_structured_push_consumer(getObject());"); } catch (AlreadyConnected e) { /* * This exception is thrown if a consumer is already connected to this proxy. This should not be thrown because the proxy has just been created. */ System.err.println("Already connected!"); System.exit(1); } catch (TypeError e) { /* * This exception is thrown if you attempt to connect a sequenced consumer to a structured proxy or vice versa. */ System.err.println("Type error!"); System.exit(1); } </code></pre> <p>}</p></li> <li><p>The disconnect() method:</p> <pre><code>public void disconnect() { if (proxy != null) { System.out.println("Disconnected!"); } } </code></pre></li> </ul>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload