[tao-users] Naming Service and multiple network adapters

Andriy Ruzhevych aru at mita-teknik.com
Mon Sep 14 12:46:29 CDT 2015


Hello Phil

Thank you very much for the quick reply!
Name Service parameters: -ORBEndpoint iiop://PC1217:2001,:2001 -m 0 -u "C:\Program Files\MyApp \Config\NamingService" -ORBUseSharedProfile 1 -ORBUseParallelConnects 1  -ORBParallelConnectDelay 100
TAO version: 2.2.5
But I have downloaded and try to make mentioned tests on version 2.3.0 I hope that the last released version contains all necessary changes.
By the way, when are you planning to commit these changes? I have to fix this urgent issue before release and your changes is very crucial!

Best regards
Andriy Ruzhevych

-----Original Message-----
From: Phil Mesnier [mailto:mesnierp at ociweb.com] 
Sent: Monday, September 14, 2015 7:33 PM
To: Andriy Ruzhevych
Cc: tao-users at list.isis.vanderbilt.edu
Subject: Re: [tao-users] Naming Service and multiple network adapters

Hi Andriy,

Coincidentally, I've been working on solving a similar problem on OCI's branch of TAO. I haven't merged this into the trunk yet, probably after the next micro release. This new feature works with the IOR Table to refresh endpoint lists as the IORs are delivered to clients. How is your name service configured?

What version of TAO are you using? 

-Phil

> On Sep 14, 2015, at 10:14 AM, Andriy Ruzhevych <aru at mita-teknik.com> wrote:
> 
> Hello
>  
> I have a problem with  accessing TAO Name Service.
> Name Service is started as a service on Windows startup. Network interface is not initialized yet. As a result, Name Service IOR profile does not contain required endpoint(s).
> I try to fix this problem in the following way:
>  
> 1. Register IOR Interceptor for TAO_Naming_Service 2. in method 
> NSIORInterceptor ::components_established replace PortableInterceptor:: ObjectReferenceFactory by my own object.
> 3. Override method ObjectReferenceFactory ::make_object.
>  
> simplified  method make_object implementation
> make_object (const char *interface_repository_id,   const PortableInterceptor::ObjectId & id)
> {
>   CORBA::Object_ptr object_ptr_orig =   this->old_factory_->make_object (interface_repository_id,  id);
>   TAO_Stub* pStub = object_ptr_orig->_stubobj();
>   TAO_MProfile& mprofile = pStub->base_profiles();
>   TAO_IIOP_Profile *iiop_profile = // find the IIOP profile by tag 
> IOP::TAG_INTERNET_IOP
>  
> // create new endpoint and add it to profile ACE_NEW_RETURN (endpoint, 
> TAO_IIOP_Endpoint ("10.20.30.40", 2001, 
> IOP::TAG_ALTERNATE_IIOP_ADDRESS), 0); iiop_profile->add_endpoint 
> (endpoint);
>  
> // add several alternate endpoints
>  
> return object_ptr_orig;
> }
> Looks like it’s a wrong way or implementation is not completed, because resulting ior does not contain my added alternate address (check by tao_catior utility).
>  
> Question: How to add alternate addresses for IORs?
> In general I have to change IOR profiles each time when available network interfaces list is changed.
>  
> Any suggestion?
>  
> Best regards
> Andriy Ruzhevych
> _______________________________________________
> tao-users mailing list
> tao-users at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-users

--
Phil Mesnier
Principal Software Engineer and Partner,   http://www.ociweb.com
Object Computing, Inc.                     +01.314.579.0066 x225






More information about the tao-users mailing list