Package com.sun.corba.ee.spi.extension
Class ServantCachingPolicy
java.lang.Object
org.omg.CORBA.LocalObject
com.sun.corba.ee.spi.extension.ServantCachingPolicy
- All Implemented Interfaces:
Serializable
,Object
,Policy
,PolicyOperations
,IDLEntity
Policy used to implement servant caching optimization in the POA.
Creating a POA with an instance pol of this policy where
pol.getType() > NO_SERVANT_CACHING will cause the servant to be
looked up in the POA and cached in the LocalClientRequestDispatcher when
the ClientRequestDispatcher is colocated with the implementation of the
objref. This greatly speeds up invocations at the cost of violating the
POA semantics. In particular, every request to a particular objref
must be handled by the same servant. Note that this is typically the
case for EJB implementations.
If servant caching is used, there are two different additional features of the POA that are expensive:
- POA current semantics
- Proper handling of POA destroy.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Perform servant caching, preserving POA current and POA destroy semantics.static final int
Perform servant caching, preservent only POA current semantics.private static ServantCachingPolicy
static final int
Perform servant caching, not preserving POA current or POA destroy semantics.private static ServantCachingPolicy
static final int
Do not cache servants in the ClientRequestDispatcher.private static ServantCachingPolicy
private int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Returns a copy of thePolicy
object.void
destroy()
Destroys thePolicy
object.static ServantCachingPolicy
static ServantCachingPolicy
static ServantCachingPolicy
static ServantCachingPolicy
Return the default servant caching policy.int
getType()
int
Returns the constant value that corresponds to the type of the policy object.toString()
Methods inherited from class org.omg.CORBA.LocalObject
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_policy_override, validate_connection
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.omg.CORBA.Object
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
-
Field Details
-
NO_SERVANT_CACHING
public static final int NO_SERVANT_CACHINGDo not cache servants in the ClientRequestDispatcher. This will always support the full POA semantics, including changing the servant that handles requests on a particular objref.- See Also:
-
FULL_SEMANTICS
public static final int FULL_SEMANTICSPerform servant caching, preserving POA current and POA destroy semantics. We will use this as the new default, as the app server is making heavier use now of POA facilities.- See Also:
-
INFO_ONLY_SEMANTICS
public static final int INFO_ONLY_SEMANTICSPerform servant caching, preservent only POA current semantics. At least this level is required in order to support selection of ObjectCopiers for co-located RMI-IIOP calls, as the current copier is stored in OAInvocationInfo, which must be present on the stack inside the call.- See Also:
-
MINIMAL_SEMANTICS
public static final int MINIMAL_SEMANTICSPerform servant caching, not preserving POA current or POA destroy semantics.- See Also:
-
policy
-
infoOnlyPolicy
-
minimalPolicy
-
type
private int type
-
-
Constructor Details
-
ServantCachingPolicy
private ServantCachingPolicy(int type)
-
-
Method Details
-
typeToName
-
toString
-
getType
public int getType() -
getPolicy
Return the default servant caching policy.- Returns:
- default policy
-
getFullPolicy
-
getInfoOnlyPolicy
-
getMinimalPolicy
-
policy_type
public int policy_type()Description copied from interface:PolicyOperations
Returns the constant value that corresponds to the type of the policy object. The values of the policy objects are allocated by the OMG. New values for PolicyType should be obtained from the OMG by sending mail to request@omg.org. In general the constant values that are allocated are defined in conjunction with the definition of the corresponding policy object.- Specified by:
policy_type
in interfacePolicyOperations
- Returns:
- the constant value that corresponds to the type of the policy object
-
copy
Description copied from interface:PolicyOperations
Returns a copy of thePolicy
object. The copy does not retain any relationships that the policy had with any domain or object.- Specified by:
copy
in interfacePolicyOperations
- Returns:
- a copy of the
Policy
object
-
destroy
public void destroy()Description copied from interface:PolicyOperations
Destroys thePolicy
object. It is the responsibility of thePolicy
object to determine whether it can be destroyed.- Specified by:
destroy
in interfacePolicyOperations
-