[omniORB] Reverting object reference to original profile ques tion

Duncan Grisby duncan at grisby.org
Wed Nov 12 14:13:48 GMT 2003


On Thursday 6 November, "Lee, Robert C." wrote:

> I use JacORB on the client end of my app. The server end consists of
> serveral servers all using OmniORB. The main server holds object reference
> to the other corba objects (JacORB or omniORB) via a method that to the main
> server passing in the object reference. Here's an example:
> 
> CORBA::Boolean
> ExecMgr_i::registerAppMgr (
>            const char* hostname,
>            AppMgr_ptr app_mgr)
>     throw  (Executive::ExecMgr::NilAppMgr)

Sorry, I don't follow that. I don't think it's relevant, though.

> What (and when) is a location forwarded object?  In my main server, one
> corba object does hold a regular c++ pointer to another corba object. Both
> Corba objects are accessed by the client GUI via a name lookup.

When a client makes a request, the server is permitted to reply with a
LOCATION_FORWARD message, containing an object reference that should
be used for future calls. The client retries the call with the new
object reference. All future calls are sent to the forwarded location.
If a call fails, the location is reset to the original location and
the client tries again.

In your case, it looks like the server has forwarded the client to a
new location. That location has failed, so the client goes back to the
original location. The original location forwards it back to the
broken location, that fails and goes back, and so on and so on.

To be sure, try running omniORB with traceLevel 30 to print the GIOP
traffic.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list