Package org.hippoecm.hst.core.jcr.pool
Interface PoolingRepository
- All Superinterfaces:
PoolingRepositoryMBean
,Repository
Interface extending
Repository
to allow
transparent access to internal session pooling implementation.- Version:
- $Id$
-
Field Summary
Fields inherited from interface org.hippoecm.hst.core.jcr.pool.PoolingRepositoryMBean
COUNTER_SESSION_ACTIVATED, COUNTER_SESSION_CREATED, COUNTER_SESSION_DESTROYED, COUNTER_SESSION_OBTAINED, COUNTER_SESSION_PASSIVATED, COUNTER_SESSION_RETURNED, WHEN_EXHAUSTED_BLOCK, WHEN_EXHAUSTED_FAIL, WHEN_EXHAUSTED_GROW
Fields inherited from interface javax.jcr.Repository
IDENTIFIER_STABILITY, IDENTIFIER_STABILITY_INDEFINITE_DURATION, IDENTIFIER_STABILITY_METHOD_DURATION, IDENTIFIER_STABILITY_SAVE_DURATION, IDENTIFIER_STABILITY_SESSION_DURATION, LEVEL_1_SUPPORTED, LEVEL_2_SUPPORTED, NODE_TYPE_MANAGEMENT_AUTOCREATED_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_INHERITANCE, NODE_TYPE_MANAGEMENT_INHERITANCE_MINIMAL, NODE_TYPE_MANAGEMENT_INHERITANCE_MULTIPLE, NODE_TYPE_MANAGEMENT_INHERITANCE_SINGLE, NODE_TYPE_MANAGEMENT_MULTIPLE_BINARY_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_MULTIVALUED_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_ORDERABLE_CHILD_NODES_SUPPORTED, NODE_TYPE_MANAGEMENT_OVERRIDES_SUPPORTED, NODE_TYPE_MANAGEMENT_PRIMARY_ITEM_NAME_SUPPORTED, NODE_TYPE_MANAGEMENT_PROPERTY_TYPES, NODE_TYPE_MANAGEMENT_RESIDUAL_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, NODE_TYPE_MANAGEMENT_UPDATE_IN_USE_SUPORTED, NODE_TYPE_MANAGEMENT_VALUE_CONSTRAINTS_SUPPORTED, OPTION_ACCESS_CONTROL_SUPPORTED, OPTION_ACTIVITIES_SUPPORTED, OPTION_BASELINES_SUPPORTED, OPTION_JOURNALED_OBSERVATION_SUPPORTED, OPTION_LIFECYCLE_SUPPORTED, OPTION_LOCKING_SUPPORTED, OPTION_NODE_AND_PROPERTY_WITH_SAME_NAME_SUPPORTED, OPTION_NODE_TYPE_MANAGEMENT_SUPPORTED, OPTION_OBSERVATION_SUPPORTED, OPTION_QUERY_SQL_SUPPORTED, OPTION_RETENTION_SUPPORTED, OPTION_SHAREABLE_NODES_SUPPORTED, OPTION_SIMPLE_VERSIONING_SUPPORTED, OPTION_TRANSACTIONS_SUPPORTED, OPTION_UNFILED_CONTENT_SUPPORTED, OPTION_UPDATE_MIXIN_NODE_TYPES_SUPPORTED, OPTION_UPDATE_PRIMARY_NODE_TYPE_SUPPORTED, OPTION_VERSIONING_SUPPORTED, OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, OPTION_XML_EXPORT_SUPPORTED, OPTION_XML_IMPORT_SUPPORTED, QUERY_FULL_TEXT_SEARCH_SUPPORTED, QUERY_JOINS, QUERY_JOINS_INNER, QUERY_JOINS_INNER_OUTER, QUERY_JOINS_NONE, QUERY_LANGUAGES, QUERY_STORED_QUERIES_SUPPORTED, QUERY_XPATH_DOC_ORDER, QUERY_XPATH_POS_INDEX, REP_NAME_DESC, REP_VENDOR_DESC, REP_VENDOR_URL_DESC, REP_VERSION_DESC, SPEC_NAME_DESC, SPEC_VERSION_DESC, WRITE_SUPPORTED
-
Method Summary
Modifier and TypeMethodDescriptionReturns pooling counter.Returns the resource lifecycle management implementation of this pool.impersonate
(Credentials credentials) Tries impersonation by the provided the credentials.boolean
isActive()
Returns true if pooling repository is initialized to be available and not closed.boolean
Returns true if pooling repository can be marked to be disposed when not in use.boolean
Returns true if thisPoolingRepository
is marked for disposal.void
returnSession
(Session session) Returns the session to the pool.void
setSessionsInvalidIfCreatedBeforeTimeMillis
(long sessionsInvalidIfCreatedBeforeTimeMillis) Sets max acceptable PooledSession.timeCreated timestamp, in millis.void
setSessionsRefreshPendingAfter
(long sessionsRefreshPendingTimeMillis) Sets time millis to have each session be refreshed on activation if the session is not refreshed after the specified time millis.Methods inherited from interface org.hippoecm.hst.core.jcr.pool.PoolingRepositoryMBean
clear, close, getInitialSize, getMaxActive, getMaxIdle, getMaxWait, getMinEvictableIdleTimeMillis, getMinIdle, getNumActive, getNumIdle, getNumTestsPerEvictionRun, getTestOnBorrow, getTestOnReturn, getTestWhileIdle, getTimeBetweenEvictionRunsMillis, getValidationQuery, getWhenExhaustedAction, initialize, setInitialSize, setMaxActive, setMaxIdle, setMaxWait, setMinEvictableIdleTimeMillis, setMinIdle, setNumTestsPerEvictionRun, setTestOnBorrow, setTestOnReturn, setTestWhileIdle, setTimeBetweenEvictionRunsMillis, setValidationQuery, setWhenExhaustedAction
Methods inherited from interface javax.jcr.Repository
getDescriptor, getDescriptorKeys, getDescriptorValue, getDescriptorValues, isSingleValueDescriptor, isStandardDescriptor, login, login, login, login
-
Method Details
-
returnSession
Returns the session to the pool.Note: There is no guard to prevent an object being returned to the pool multiple times. Clients are expected to discard references to returned objects and ensure that an object is not returned to the pool multiple times in sequence (i.e., without being borrowed again between returns). Violating this contract will result in the same object appearing multiple times in the pool and pool counters (numActive, numIdle) returning incorrect values.
- Parameters:
session
-
-
getResourceLifecycleManagement
ResourceLifecycleManagement getResourceLifecycleManagement()Returns the resource lifecycle management implementation of this pool.- See Also:
-
impersonate
Tries impersonation by the provided the credentials. If this pooling repository is contained in aMultipleRepository
implementation and the containingMultipleRepository
has a proper repository for the provided credentials, then it can return a proper session impersonated. Otherwise, it returns null.- Parameters:
credentials
-- Throws:
LoginException
RepositoryException
-
setSessionsRefreshPendingAfter
void setSessionsRefreshPendingAfter(long sessionsRefreshPendingTimeMillis) Sets time millis to have each session be refreshed on activation if the session is not refreshed after the specified time millis.- Parameters:
sessionsRefreshPendingTimeMillis
-
-
setSessionsInvalidIfCreatedBeforeTimeMillis
void setSessionsInvalidIfCreatedBeforeTimeMillis(long sessionsInvalidIfCreatedBeforeTimeMillis) Sets max acceptable PooledSession.timeCreated timestamp, in millis. Sessions created before this time should be disposed of. -
getPoolingCounter
PoolingCounter getPoolingCounter()Returns pooling counter. -
isActive
boolean isActive()Returns true if pooling repository is initialized to be available and not closed. -
isDisposableWhenNotInUse
boolean isDisposableWhenNotInUse()Returns true if pooling repository can be marked to be disposed when not in use. For example, if a pooling repository can be disposable at runtime, then this should return true.- Returns:
true
if it is possible that thisPoolingRepository
gets marked to be disposable when it is not in use- See Also:
-
isMarkedForDisposal
boolean isMarkedForDisposal()Returns true if thisPoolingRepository
is marked for disposal. When aPoolingRepository
is marked for disposal, it should not be used any more This can return true only whenisDisposableWhenNotInUse()
returns true.- Returns:
true
if thisPoolingRepository
is marked for disposal- See Also:
-