----- Original Message -----
From: "MikkelFJ" <mikkelj-anti-spam / post1.dknet.dk>
Newsgroups: comp.lang.ruby
To: "ruby-talk ML" <ruby-talk / ruby-lang.org>; <undisclosed-recipients: ;>
Sent: Wednesday, August 01, 2001 12:16 AM
Subject: [ruby-talk:18920] Re: Dynamic ORBit bindings for Ruby


>
> "Tobin Baker" <senderista / hotmail.com> wrote in message
> news:dbbeaaa3.0107311358.79f439da / posting.google.com...
> > Kenichi Komiya <kom / mail1.accsnet.ne.jp> wrote in message
> news:<gGB97.12858$WD1.528847 / e420r-atl2.usenetserver.com>...
> >
> > >I read the README of Dynamic-ORBit with great interest.  I am
> > >interested in partially because I want to use CORBA with Ruby,
>
> Could any of you CORBA freaks :-) give a short introduction to
> object-lifetime management in CORBA, and how it relates to garbage
> collection / distributed garbage collection?

Management of object lifetimes is left entirely up to the application
creating the objects.  CORBA doesn't offer any garbage collection of server
objects.  The language mappings define garbage collection for proxies
(because those are automatically instantiated by the ORB).  E.g. in
languages without garbage collection, the CORBA::Object interface provides
methods for reference counting.

A CORBA object reference is persistent.  That is, if a server crashes or is
shut down, the objects on that server can still be referred to by their
original identifiers, and objects can be moved between servers and maintain
identity. (c.f. SOAP in which an object's identity is tied to it's location
by the hostname in the object's URL).  This makes garbage collection pretty
much impossible because (ignoring the entire problem of *distributed*
garbage collection) even when there are no live references to an object
through the ORB, valid references may still exist outside the ORB, in email
messages or text files for example.