[omniORB] Any way to differentiate clients with omniORB

Martin Trappel 0xCDCDCDCD at gmx.at
Wed Apr 16 09:26:48 BST 2008


BaileyK at schneider.com wrote:
> I don't think there's anything simple.  Possibilities include
> 
> 1) Use a different servant, and thus a distinct CORBA object, for each
> client.
> 2) If sharing servant state across clients is necessary, use a single
> servant and register it multiple times with a POA with distinct object IDs.
> Give each client a distinct IOR, and then the POA can tell you which IOR
> was used to make the up-call.
> 3) Use an interceptor to store socket IP/port information in thread-local
> storage and then access that within the up-call.
> 
> For #2 see
> http://www.omniorb-support.com/omniwiki/OmniOrb4DevelopmentStatus#head-7b5cf379a284b2223858b197f61d632c0d35fd46
> 

Thanks for these pointers!

Option 2 sounds quite promising ... would this conceptually create 2 
CORBA Objects supported by one servant, or would it still be one CORBA 
Object that only is registered twice? (What would _is_equivalent(..) 
tell me?) Also, at the moment I'm just running the default POA with the 
default policies (omni 4.1.2) ... I guess I'll have to do something 
there too?

... anyways I'll follow your link and try it out from there ...

br,
Martin



More information about the omniORB-list mailing list