|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.cache.RegionImpl
public class RegionImpl
Default implementation of a Region
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jboss.cache.Region |
---|
Region.Status, Region.Type |
Constructor Summary | |
---|---|
RegionImpl(EvictionRegionConfig config,
Fqn fqn,
RegionManager regionManager)
Constructs an eviction region from a policy and configuration, defined by an fqn and region manager. |
|
RegionImpl(Fqn fqn,
RegionManager regionManager)
Constructs a marshalling region from an fqn and region manager. |
Method Summary | |
---|---|
void |
activate()
Activates this region for replication. |
void |
activateIfEmpty()
Activates this region for replication, but if the Fqn that represents this region already exists and
either contains data or children, no state transfers take place. |
Region |
clone()
Deprecated. |
int |
compareTo(Region other)
|
Region |
copy(Fqn newRoot)
copies the region - including eviction queue events - to a new Region instance, attached to a new Fqn root. |
void |
deactivate()
Deactivates this region from being replicated. |
boolean |
equals(Object o)
|
Configuration |
getCacheConfiguration()
|
ClassLoader |
getClassLoader()
Returns the configured ClassLoader for this region. |
BlockingQueue<EvictionEvent> |
getEvictionEventQueue()
|
EvictionPolicy |
getEvictionPolicy()
Deprecated. |
EvictionPolicyConfig |
getEvictionPolicyConfig()
Deprecated. |
EvictionRegionConfig |
getEvictionRegionConfig()
|
Fqn |
getFqn()
Returns the Fqn of this region. |
Region.Status |
getStatus()
|
int |
hashCode()
|
boolean |
isActive()
Returns true if this region has been activated. |
void |
markNodeCurrentlyInUse(Fqn fqn,
long timeout)
Marks a Node as currently in use, by adding an event to the eviction queue. |
int |
nodeEventQueueSize()
Deprecated. |
void |
processEvictionQueues()
Processes the eviction queues (primary and recycle queues) associated with this region. |
void |
putNodeEvent(EvictedEventNode event)
Deprecated. |
void |
registerContextClassLoader(ClassLoader classLoader)
Registers a specific ClassLoader for this region,
overridding the default cache class loader. |
EvictionEvent |
registerEvictionEvent(Fqn fqn,
EvictionEvent.Type eventType)
An overloaded version of Region.registerEvictionEvent(Fqn, org.jboss.cache.eviction.EvictionEvent.Type, int) which
uses a default elementDifference value. |
EvictionEvent |
registerEvictionEvent(Fqn fqn,
EvictionEvent.Type eventType,
int elementDifference)
Registers an eviction event on the region's eviction event queue for later processing by Region.processEvictionQueues() . |
void |
resetEvictionQueues()
Clears the node event queue used for processing eviction. |
void |
setActive(boolean b)
Sets this region as active - this only marks a flag and does not actually activates or deactivates this region. |
void |
setEvictionPolicy(EvictionPolicyConfig evictionPolicyConfig)
Deprecated. |
void |
setEvictionRegionConfig(EvictionRegionConfig evictionRegionConfig)
Configures this region for eviction. |
void |
setStatus(Region.Status status)
A mechanism to set status of a region, more fine grained control than just setActive(); |
EvictedEventNode |
takeLastEventNode()
Deprecated. |
String |
toString()
|
void |
unmarkNodeCurrentlyInUse(Fqn fqn)
Adds an event to the eviction queue indicating that a node is no longer in use. |
void |
unregisterContextClassLoader()
Unregisters a registered ClassLoader s for this region. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public RegionImpl(Fqn fqn, RegionManager regionManager)
public RegionImpl(EvictionRegionConfig config, Fqn fqn, RegionManager regionManager)
Method Detail |
---|
public Configuration getCacheConfiguration()
getCacheConfiguration
in interface Region
public void registerContextClassLoader(ClassLoader classLoader)
Region
ClassLoader
for this region,
overridding the default cache class loader.
registerContextClassLoader
in interface Region
classLoader
- specific class loaderpublic void unregisterContextClassLoader()
Region
ClassLoader
s for this region.
unregisterContextClassLoader
in interface Region
public void activate()
Region
activate
in interface Region
public void activateIfEmpty()
Region
Fqn
that represents this region already exists and
either contains data or children, no state transfers take place. The region is simply marked as active in this
case.
activateIfEmpty
in interface Region
public void deactivate()
Region
deactivate
in interface Region
public boolean isActive()
Region
isActive
in interface Region
public ClassLoader getClassLoader()
Region
ClassLoader
for this region.
getClassLoader
in interface Region
public void processEvictionQueues()
Region
processEvictionQueues
in interface Region
public Fqn getFqn()
Region
Fqn
of this region.
getFqn
in interface Region
public void setStatus(Region.Status status)
Region
setStatus
in interface Region
status
- status of the regionpublic Region.Status getStatus()
getStatus
in interface Region
public void setActive(boolean b)
Region
Region.activate()
and Region.deactivate()
for the full process.
setActive
in interface Region
public BlockingQueue<EvictionEvent> getEvictionEventQueue()
public void markNodeCurrentlyInUse(Fqn fqn, long timeout)
Region
Node
as currently in use, by adding an event to the eviction queue.
If there is an EvictionRegionConfig
associated with this region, and
it respects this event (e.g., LRUAlgorithm
does), then the Node
will not
be evicted until Region.unmarkNodeCurrentlyInUse(Fqn)
is invoked.
This mechanism can be used to prevent eviction of data that the application
is currently using, in the absence of any locks on the Node
where the
data is stored.
markNodeCurrentlyInUse
in interface Region
fqn
- Fqn of the node.Region.unmarkNodeCurrentlyInUse(Fqn)
public void unmarkNodeCurrentlyInUse(Fqn fqn)
Region
unmarkNodeCurrentlyInUse
in interface Region
fqn
- Fqn of the node.Region.markNodeCurrentlyInUse(Fqn,long)
public String toString()
toString
in class Object
public int compareTo(Region other)
compareTo
in interface Comparable<Region>
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public void resetEvictionQueues()
Region
resetEvictionQueues
in interface Region
public void setEvictionRegionConfig(EvictionRegionConfig evictionRegionConfig)
Region
setEvictionRegionConfig
in interface Region
evictionRegionConfig
- configuration to setpublic EvictionRegionConfig getEvictionRegionConfig()
getEvictionRegionConfig
in interface Region
public EvictionEvent registerEvictionEvent(Fqn fqn, EvictionEvent.Type eventType)
Region
Region.registerEvictionEvent(Fqn, org.jboss.cache.eviction.EvictionEvent.Type, int)
which
uses a default elementDifference value.
registerEvictionEvent
in interface Region
fqn
- passed in to the constructor of EvictionEvent
eventType
- passed in to the constructor of EvictionEvent
public EvictionEvent registerEvictionEvent(Fqn fqn, EvictionEvent.Type eventType, int elementDifference)
Region
Region.processEvictionQueues()
.
registerEvictionEvent
in interface Region
fqn
- passed in to the constructor of EvictionEvent
eventType
- passed in to the constructor of EvictionEvent
elementDifference
- passed in to the constructor of EvictionEvent
public Region copy(Fqn newRoot)
Region
copy
in interface Region
newRoot
- new root for the region - e.g., a buddy backup root.
@Deprecated public void setEvictionPolicy(EvictionPolicyConfig evictionPolicyConfig)
Region
setEvictionPolicy
in interface Region
evictionPolicyConfig
- configuration to set@Deprecated public EvictionPolicyConfig getEvictionPolicyConfig()
Region
getEvictionPolicyConfig
in interface Region
@Deprecated public EvictionPolicy getEvictionPolicy()
Region
getEvictionPolicy
in interface Region
@Deprecated public int nodeEventQueueSize()
Region
nodeEventQueueSize
in interface Region
@Deprecated public EvictedEventNode takeLastEventNode()
Region
EvictedEventNode
added to the event queue by
Region.putNodeEvent(org.jboss.cache.eviction.EvictedEventNode)
.
Note: This is deprecated since this is an internal method and never was
meant to be a part of the public API. Please do not treat this as public API, it may be removed in a future release
and its functionality is not guaranteed.
takeLastEventNode
in interface Region
EvictedEventNode
, or null if no more events exist@Deprecated public void putNodeEvent(EvictedEventNode event)
Region
EvictedEventNode
to the internal queue for processing
by the eviction thread.
Note: This is deprecated since this is an internal method and never was
meant to be a part of the public API. Please do not treat this as public API, it may be removed in a future release
and its functionality is not guaranteed.
putNodeEvent
in interface Region
event
- event to add@Deprecated public Region clone() throws CloneNotSupportedException
clone
in interface Region
clone
in class Object
CloneNotSupportedException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |