-
Key: CORBA3-59
-
Legacy Issue Number: 5105
-
Status: closed
-
Source: Triodia Technologies Pty Ltd ( Michi Henning)
-
Summary:
For reference_to_servant(), the spec says:
> This operation requires the RETAIN policy or the USE_DEFAULT_SERVANT
policy.
> If neither policy is present, the WrongPolicy exception is raised.
>
> If the POA has the RETAIN policy and the specified object is present in
the Active
> Object Map, this operation returns the servant associated with that object
in the Active
> Object Map. Otherwise, if the POA has the USE_DEFAULT_SERVANT policy and a
> default servant has been registered with the POA, this operation returns
the default
> servant. Otherwise, the ObjectNotActive exception is raised.This says that, if I use USE_DEFAULT_SERVANT, reference_to_servant() always
and unconditionally returns the default servant.This appears to be wrong. In particular, I can have USE_DEFAULT_SERVANT but
still add other servants explicitly to the AOM. If I do that, I can have,
for example,
servant X with object ID 1 as an explicitly activated servant, in addition
to the default
servant. In this situation, if I call reference_to_servant() with a
reference with object ID 1,
it should return servant X instead of the default servant.The exact same reasoning applies to id_to_servant(), which also
unconditionally returns
the default servant with USE_DEFAULT_SERVANT().I think we need to fix this – it appears that the current words are simply
wrong. -
Reported: CORBA 2.6 — Tue, 2 Apr 2002 05:00 GMT
-
Disposition: Resolved — CORBA 3.0.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:58 GMT