[jacorb-developer] AMI + BiDir
boris temkin
boris at temk.org
Wed Jul 10 18:28:38 CEST 2013
Hello,
Is there known problems with using AMI and BiDir simultaneously?
I took AMI example from demos and added BiDir option. However, as far as I
can see synchronous calls working, but asynchronous are not.
The exception that i see (client side) is the following:
SEVERE: Unexpected error during receiveMessages. Lost a message!
java.lang.NullPointerException
at org.jacorb.orb.giop.BiDirConnectionClientInterceptor.send_request(BiDirConnectionClientInterceptor.java:125)
at org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.invoke(ClientInterceptorIterator.java:129)
at org.jacorb.orb.portableInterceptor.AbstractInterceptorIterator.iterate(AbstractInterceptorIterator.java:66)
at org.jacorb.orb.portableInterceptor.ClientInterceptorIterator.iterate(ClientInterceptorIterator.java:87)
at org.jacorb.orb.DefaultClientInterceptorHandler.invokeInterceptors(DefaultClientInterceptorHandler.java:328)
at org.jacorb.orb.DefaultClientInterceptorHandler.handle_send_request(DefaultClientInterceptorHandler.java:132)
at org.jacorb.orb.Delegate.servant_preinvoke(Delegate.java:2505)
at org.jacorb.orb.ReplyReceiver.performCallback(ReplyReceiver.java:240)
at org.jacorb.orb.ReplyReceiver.replyReceived(ReplyReceiver.java:183)
at org.jacorb.orb.giop.ClientConnection.replyReceived(ClientConnection.java:355)
at org.jacorb.orb.giop.GIOPConnection.receiveMessagesLoop(GIOPConnection.java:820)
at org.jacorb.orb.giop.GIOPConnection.receiveMessages(GIOPConnection.java:527)
at org.jacorb.orb.giop.MessageReceptor.doWork(MessageReceptor.java:69)
at org.jacorb.util.threadpool.ConsumerTie.run(ConsumerTie.java:60)
at java.lang.Thread.run(Thread.java:724)
The client initialized as following:
Properties props = new Properties();
props.put("org.omg.PortableInterceptor.ORBInitializerClass.bidir_init",
"org.jacorb.orb.giop.BiDirConnectionInitializer");
ORB orb = ORB.init( args, props );
POA root =
POAHelper.narrow (orb.resolve_initial_references
("RootPOA"));
root.the_POAManager().activate();
ArrayList<Policy> list = new ArrayList<Policy>();
list.add(root.create_lifespan_policy(LifespanPolicyValue.TRANSIENT));
list.add(root.create_id_assignment_policy(IdAssignmentPolicyValue.SYSTEM_ID));
list.add(root.create_implicit_activation_policy(ImplicitActivationPolicyValue.NO_IMPLICIT_ACTIVATION));
list.add(root.create_id_uniqueness_policy(IdUniquenessPolicyValue.UNIQUE_ID));
Any any = orb.create_any();
BidirectionalPolicyValueHelper.insert(any, BOTH.value);
list.add(orb.create_policy(BIDIRECTIONAL_POLICY_TYPE.value,
any));
Policy [] policy = list.toArray(new Policy[0]);
POA poa = root.create_POA("MyPOA", root.the_POAManager(),
policy);
poa.the_POAManager().activate();
Please, advise.
Thank you.
More information about the jacorb-developer
mailing list