[omniORB] Persistence....

David Riddoch djr@uk.research.att.com
Wed, 5 Jul 2000 10:30:02 +0100 (BST)


Ben,


omniORB (all versions) does not have an implementation repository.  This
means that there is no facility in omniORB for automatically starting a
CORBA server program in response to a request from a client.  (You can of
course implement such functionnality yourself...).

The LifespanPolicy in the POA (omniORB 3) dictates whether objects in a
particular POA can span multiple incarnations of that POA.  If a POA is
TRANSIENT, then when it dies all references to objects in it will never
ever work again.  If a POA is PERSISTENT, then you can recreate it when
you restart the server, and if you recreate objects with the same ObjectId
and use the same port number, the clients will be able to contact the
objects with the old object references.

I hope that answers your question.


David


On Wed, 5 Jul 2000, Ben Miller wrote:

> Hi all,
> 
> Can somebody please give me a brief explanation of the following:  in
> omniORB2 all CORBA servers had to be persistent.  As I understand
> this, it meant that there was no way of starting a CORBA server
> program when a request for it is first made from a client.  Is this
> right?  Am I right in assuming that the omniORB3 ability to create
> persistent and transient server objects is a different issue - that
> the servant program and a server object's persistence are separate
> issues?
> 
> The reason that I am asking is that I've become a little confused as
> to whether or not I can make a server-ORB automatically start up my
> CORBA servant program when my CORBA client makes a specific request to
> that server.  Using omniORB2.7.1 I had to start my servant program
> myself (say, as an NT service) before my clients could make requests
> to it.
> 
> Can anyone can sort my brain out....?