[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