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 intPerform servant caching, preserving POA current and POA destroy semantics.static final intPerform servant caching, preservent only POA current semantics.private static ServantCachingPolicystatic final intPerform servant caching, not preserving POA current or POA destroy semantics.private static ServantCachingPolicystatic final intDo not cache servants in the ClientRequestDispatcher.private static ServantCachingPolicyprivate int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()Returns a copy of thePolicyobject.voiddestroy()Destroys thePolicyobject.static ServantCachingPolicystatic ServantCachingPolicystatic ServantCachingPolicystatic ServantCachingPolicyReturn the default servant caching policy.intgetType()intReturns 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_connectionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:PolicyOperationsReturns 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_typein interfacePolicyOperations- Returns:
- the constant value that corresponds to the type of the policy object
-
copy
Description copied from interface:PolicyOperationsReturns a copy of thePolicyobject. The copy does not retain any relationships that the policy had with any domain or object.- Specified by:
copyin interfacePolicyOperations- Returns:
- a copy of the
Policyobject
-
destroy
public void destroy()Description copied from interface:PolicyOperationsDestroys thePolicyobject. It is the responsibility of thePolicyobject to determine whether it can be destroyed.- Specified by:
destroyin interfacePolicyOperations
-