[omniORB] [Q] how to perge dead services from Naming service

Duncan Grisby duncan at grisby.org
Tue Apr 28 15:49:53 BST 2009


On Tuesday 21 April, "V S P" wrote:

> I have servant object's named 'OTRQ'
> when they register with the naming service they register
> as OTRQ__hostnm__ProcessId
> 
> Then the client asks the naming service for a list of registered
> servants (hopefully the naming convention above makes them unique -- I
> could not come up with anything 'brigher' that this)
> And then it randomly selects one -- and works with that.
> 
> The problem is, when traversing the list of servants I see dead
> servants (that is those processes are not running)
> -- I do not want them.  When I restart the servants, of course,
> the chance that they will bind to a 'dead' name is slim (but I still
> support it by calling rebind).
> 
> Is there something I can configure in the naming service to
> 'automagically remove' dead servants as soon as possible? 
> or is there a more standard load-balancing scheme?

That's not really the way the CORBA naming service is intended to be
used. It is just a simple lookup mechanism from names to object
references. It doesn't make any judgement about whether the object
references correspond to objects that are currently active or not.

You would be much better off implementing your own simple object
registry that your objects register with. The registry can then
periodically ping the objects (or the objects periodically ping the
registry if that's more appropriate).

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list