[omniORB] Question about passing arguments to preinvoke()

Duncan Grisby duncan at grisby.org
Wed Jun 14 17:42:08 BST 2006


On Wednesday 14 June, "Michael Shearer" wrote:

> When I saw the servant locator and servant activator models, it seemed
> to make more sense at the time because it would tell you when the client
> was done so you could then in turn cleanup and delete the resource.

Possibly you understand this now, but to be clear, servant locators do
not tell you then the client is "done", as in finished with the object,
merely when it has finished the particular method it is calling. The
servant locator is invoked used on every single call the client makes.

> However, after much research I found this great website that explains
> this whole issue.  http://www.lenholgate.com/archives/000343.html.  All
> I really needed was a reference counter wrapper in my own class that
> calls deactivate_object and _remove_ref() on the RefCountServantBase
> class when it is done.  Works like a charm now.

Hmm. Len updated those articles based on some feedback he received when
he wrote them, but I still think they confuse at least as much as they
enlighten. You might like to read the discussions that arose when Len
wrote the articles. Look for messages with the subject "From COM to
CORBA" in these two months of mailing list archive:

  http://www.omniorb-support.com/pipermail/omniorb-list/2001-February/
  http://www.omniorb-support.com/pipermail/omniorb-list/2001-March/


If you haven't got it already, I strongly advise that you get "Advanced
CORBA Programming with C++" by Michi Henning and Steve Vinoski. It does
quite a good job of explaining the CORBA object model, which will help
you understand these kinds of issues.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list