Package com.tangosol.application
Interface ContainerContext
- All Known Implementing Classes:
DefaultCacheServer.SimpleContext
public interface ContainerContext
ContainerContext represents various aspects of the container infrastructure
that could be used by Coherence applications working in the context of the
ContainerAdapter
.- Since:
- Coherence 12.2.1
- Author:
- gg 2014.06.04
-
Method Summary
Modifier and TypeMethodDescriptiongetCacheAttribute
(String sCache, String sAttribute) Obtain a value for a configuration attribute for a given cache.Obtain the ContainerContext associated with the current thread.Obtain the Domain Partition name associated with this ContainerContext.Obtain the ContainerContext associated with GLOBAL Domain Partition.Get a set of names for all shared caches.boolean
isCacheShared
(String sCache) Check whether or not the cache with the specified name should be shared across various Domain Partitions.boolean
Check whether or not the DomainPartition associated with this context is GLOBAL.void
Reset the execution context for the calling thread to be associated with this ContainerContext's Domain Partition.default void
runInDomainPartitionContext
(Runnable action) Run the specified action in the context of the associated Domain Partition.<V> V
runInDomainPartitionContext
(Callable<V> action) Call the specified action in the context of the associated Domain Partition.void
Set the execution context for the calling thread to be associated with this ContainerContext's Domain Partition.
-
Method Details
-
getDomainPartition
String getDomainPartition()Obtain the Domain Partition name associated with this ContainerContext.Note, that to get the name of the GLOBAL DomainPartition, the caller should do the following:
getGlobalContext().getDomainPartition();
- Returns:
- the Domain Partition name or null if the container does not support Multi-Tenancy or this feature is turned off
-
isGlobalDomainPartition
boolean isGlobalDomainPartition()Check whether or not the DomainPartition associated with this context is GLOBAL.Note, that this call is basically equivalent to the following:
equals(getGlobalContext());
- Returns:
true
if the DomainPartition associated with this context is GLOBAL
-
getGlobalContext
ContainerContext getGlobalContext()Obtain the ContainerContext associated with GLOBAL Domain Partition.Important note: since the ContainerContext object could use the context as a part of the event dispatcher or listener identity, it's imperative for the container to maintain no more than one instance of the global context.
- Returns:
- the ContainerContext associated with the GLOBAL Domain Partition.
-
getCurrentThreadContext
ContainerContext getCurrentThreadContext()Obtain the ContainerContext associated with the current thread. Note, that the returned context could only be one of- null, if the current thread is not associated with any context;
- the GLOBAL context;
- this ContainerContext;
- another instance of ContainerContext representing the same Domain Partition as this context.
- Returns:
- the ContainerContext associated with the current thread or null if the thread has no association
-
setCurrentThreadContext
void setCurrentThreadContext()Set the execution context for the calling thread to be associated with this ContainerContext's Domain Partition.Note, that to set the execution context as GLOBAL, the caller should do the following:
getGlobalContext().setCurrentThreadContext();
-
resetCurrentThreadContext
void resetCurrentThreadContext()Reset the execution context for the calling thread to be associated with this ContainerContext's Domain Partition. This method should only be called if the thread context was changed usingsetCurrentThreadContext()
. -
runInDomainPartitionContext
Call the specified action in the context of the associated Domain Partition.Note, that to call the action in the GLOBAL context, the caller should do the following:
getGlobalContext().runInDomainPartitionContext(action);
- Type Parameters:
V
- the result type of the action- Parameters:
action
- the action to call- Returns:
- the result of the Callable action
-
runInDomainPartitionContext
Run the specified action in the context of the associated Domain Partition.Note, that to run the action in the GLOBAL context, the caller should do the following:
getGlobalContext().runInDomainPartitionContext(action);
- Parameters:
action
- the action to run
-
getCacheAttribute
Obtain a value for a configuration attribute for a given cache.- Parameters:
sCache
- the cache namesAttribute
- the attribute name- Returns:
- the specified attribute value or null, if the default value should be used
-