[omniORB] Help: Identify object/servant location

Martin Trappel 0xCDCDCDCD at gmx.at
Wed Jan 28 08:11:21 GMT 2009


Carsten.Agger at tieto.com wrote:
>  ...
> 
> This raises a problem: In some cases, a servant may be passed a 
> reference to a servant object located on its own service. In this case, 
> the processing needs to differ slightly to allow services to be 
> redundant mirrors of the same data. What I need is basically: If the 
> object reference is to the same database, don’t call remotely via the 
> ORB, process locally, as the servant may be loaded here.
> 
> But how do I know it is local or to the same database? I thought of 
> ...
> Because of backwards compatibility problems we can’t easily change or 
> extend the IDL to include a getLocation() method. So how would one 
> actually do it?
> 

I thought extending IDLs does not raise compatibility issues?
i.e.
old.idl:
module X
{
   interface IX
   {
     void foo();
   };
}

new.idl:
module X
{
   interface IX
   {
     void foo();
     string getLocation()
   };
}

"clients" using old.idl can communicate with "servers" using new.idl 
without problems

br,
Martin



More information about the omniORB-list mailing list