[omniORB] Publishing IORs with various endpoints (IP) for the sameobject

Wernke zur Borg wzb at anitesystems.de
Mon Aug 30 10:51:33 BST 2004


I had a similar problem, where different clients connect through different
interfaces. Each of them needs a different endpoint setting. I tried with
interceptors to fiddle with IORs but I gave up because it's too much hassle.

I finally solved the problem by spawning a new process with dedicated
endpoint setting for each connecting client. However, this is not a general
solution but only works because my application process is session oriented.
A general listener process waits for clients invoking the openSession()
operation on a bootstrap object. It then creates a new process which in turn
creates servant objects and passes back their IORs to the listener. The
listener passes the IORs back to the client when returning from
openSession(). The client subsequently only uses objects inside the new
process.

Perhaps this gives you an idea how to continue.

Regards, Wernke


-----Original Message-----
From: omniorb-list-bounces at omniorb-support.com
[mailto:omniorb-list-bounces at omniorb-support.com] On Behalf Of Kiesswetter,
Florian (Florian)
Sent: 26 August 2004 15:36
To: 'omniorb-list at omniorb-support.com'
Subject: [omniORB] Publishing IORs with various endpoints (IP) for the
sameobject

I am running omniORB 4.0.3 on a target with various interfaces, which can be
configured dynamically. Therefore not all endpoints are known at ORB_init().
Now I want to publish the IORs of my servants to different clients (trying
to connect via different interfaces). As I am not able to use a DNS I have
to put the IP of the various interfaces into the IOR. And the difficulty is
that I want to give one client an IOR containing the IP of interface A and
the other client the IP of the interface B.

How can I achieve to get IORs with endpoint information (only the IP) which
has not been set during ORB_init()?
Is it possible to modify the endPoint parameter at runtime?  
Is there any proprietary method (something like bind()) to create temporary
object references which allows to specify a different endPoint? (I just need
this reference to publish the IOR in a NameService) Is there any method to
modify the parameters of an already stringified IOR?

I really appreciate any answer to one of my questions.
Thanks in advance,
Florian




More information about the omniORB-list mailing list