[omniORB] Miscellaneous problems with omniEvents 2.0

Poilpret Jean Francois jfpoilpret@hn.vnn.vn
Fri, 3 Dec 1999 17:24:24 +0700


Hi omniORBers,

At this time, I am in the process of chosing an Event Service (for a =
little project with omniORB for my students). I'm just "playing" with =
omniEvents 2.0, but I ran into some problems (some of which I could not =
solve).
But first of all, I have to tell that I want to use omniEvents with Java =
clients (written with ORBACUS 3.2), so I have to recompile IDL files =
included with the omniEvents package, with the jidl ORBACUS compiler.
The problems I ran into are:

1. The file CosEventChannelAdmin.idl is not compliant with the =
"official" OMG IDL file, since it includes "CosLifeCycle.idl". Moreover, =
it seems that nothing from CosLifeCycle.idl is used inside =
CosEventChannelAdmin.idl. So I cleared the including line from the file. =
After this, no problem.

2. I wanted to write a PushSupplier (in Java) sending events to an =
omniEvents event channel.
So I got the object reference of the channel, then the SupplierAdmin =
object reference, then a ProxyPushConsumer reference object from the =
SuplierAdmin.
Then I call the connect_push_supplier() operation on that reference.The =
problem is that I pass a nil object reference for the push_supplier =
argument. And then, I receive the BAD_PARAM exception.
I read the code in CosEvent_i.cc (in omniEvents package) and discovered =
that passing a nil object reference was forbidden.
But according to the OMG specs, (CORBAservices, march 1995, Event =
Service 1.0, pages 4-17 and 4-18), it is allowed for a push-supplier to =
pass a nil object reference for this argument.
(In fact, I think the problem is the same with a pull-consumer who wants =
to register itself with a proxypullsupplier, but I didnot check it with =
omniEvents).

For me, this is a problem since if you want to act as a push-supplier, =
you still have to write an implementation for the PushSupplier interface =
and make your java application (or applet) a server. But I don't want to =
write a CORBA server in java, just a simple client. But I can't do :-(

It would be great if omniEvents could be made compliant with the specs =
here, because I think many people would like to use Event Channels this =
way, writing simple CORBA clients when it is possible.

I alse have a suggestion for the next releases of omniEvents: I think it =
would be great to provide both static and dynamic libraries, since the =
size of executables is quite big ;-)

Besides this, congratulations for omniEvents, the examples seem to work =
great !

Thank you in advance

Regards

    Jean-Fran=E7ois