[omniORB] RootPOA and omniINSPOA together

Urban Purkat urban.purkat at topit.si
Tue Nov 10 16:11:48 GMT 2009


Duncan Grisby wrote:
> On Tue, 2009-11-10 at 14:58 +0100, Urban Purkat wrote:
>
>   
>> I would like to connect two systems. Therefore the first system needs to 
>> connect to the second system's name service (NS2) to resolve objects. 
>> Since omniORB does not allow me to have multiple orb instances this is 
>> not doable.
>>     
>
> Why do you think it is not doable?  You're right than you can have only
> one ORB, but that has no bearing on how many naming service references
> you can use. The naming service is just a collection of CORBA objects,
> so you can refer to as many as you like.
>
> That said, the naming service is designed to be a centralised mapping of
> names to object references, so you'd often run a single naming service
> in an environment and store all the name mappings there, rather than one
> naming service per machine.
>   
But I have to specify the nameservice at the ORB_Init():
omniORB:   DefaultInitRef (args) = corbaloc:iiop:ivd-test-01.topit.si:2809
omniORB:   InitRef = NameService=corbaname:iiop:ivd-test-01.topit.si:2809

Then I resolve it using:
m_orb->resolve_initial_references("NameService");
m_rootContext = CosNaming::NamingContext::_narrow(obj);

How can I get the reference to another NS?

>> I thought I can implement fixed references for some servants and resolve 
>> objects from a predefined string.
>> In order to do that I introduced a secondary POA (omniINSPOA).
>>     
> [...]
>
> I'm very confused by what you're trying to achieve. The omniINSPOA is
> there to support the use of corbaloc URIs, which you normally use
> instead of the naming service, not as well as it. (corbaloc is part of
> the Interoperable Naming Service specification, hence the INS in
> omniINSPOA.)
>
> If you are using the naming service, you definitely shouldn't tell your
> server to listen on port 2809, since that's the port omniNames will
> listen on.
>
> What exactly are you trying to do?  Why do you feel the need to use
> omniINSPOA?
>   
I have two independent systems (primary and secondary). Each have its 
own NS running.
I would like to resolve the reference of the other system's servant. So 
since I was not aware that it is possible to use several naming services 
(I still do not know how), I thought I can have one servant using a 
persistent object ID and resolve it using corbaloc.

So if I am able to get the NS object reference that "belobgs" to 
secondary from the primary system I am more than satisfied.

Regards,
Urban



More information about the omniORB-list mailing list