Class WriteBehindQueueManager
- java.lang.Object
-
- net.sf.ehcache.writer.writebehind.WriteBehindQueueManager
-
- All Implemented Interfaces:
WriteBehind
public class WriteBehindQueueManager extends java.lang.Object implements WriteBehind
- Author:
- Alex Snaps
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classWriteBehindQueueManager.WriteBehindQueueFactoryFactory used to create write behind queues.
-
Constructor Summary
Constructors Modifier Constructor Description WriteBehindQueueManager(CacheConfiguration config)Create a new write behind queue manager.protectedWriteBehindQueueManager(CacheConfiguration config, WriteBehindQueueManager.WriteBehindQueueFactory queueFactory)Create the write behind queue manager with queues created via the passed inWriteBehindQueueManager.WriteBehindQueueFactory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddelete(CacheEntry entry)Add a delete operation for the given cache entrylonggetQueueSize()Gets the best estimate for items in the queue still awaiting processing.voidsetOperationsFilter(OperationsFilter filter)Set the operations filter that should be used.voidstart(CacheWriter writer)Start the write behind queue with a cache writervoidstop()Stop the coordinator and all the internal data structures.voidwrite(Element element)Add a write operation for a given element.
-
-
-
Constructor Detail
-
WriteBehindQueueManager
protected WriteBehindQueueManager(CacheConfiguration config, WriteBehindQueueManager.WriteBehindQueueFactory queueFactory)
Create the write behind queue manager with queues created via the passed inWriteBehindQueueManager.WriteBehindQueueFactory- Parameters:
config- configuration for the cache this write behind queue manager is working withqueueFactory- factory used to create the write behind queues.
-
WriteBehindQueueManager
public WriteBehindQueueManager(CacheConfiguration config)
Create a new write behind queue manager. Which in turn will create as many queues as required by theCacheWriterConfiguration.getWriteBehindConcurrency()- Parameters:
config- the configuration for the queue
-
-
Method Detail
-
start
public void start(CacheWriter writer) throws CacheException
Start the write behind queue with a cache writer- Specified by:
startin interfaceWriteBehind- Parameters:
writer- the cache writer that should be used to process the operations- Throws:
CacheException- See Also:
WriteBehind.stop()
-
write
public void write(Element element)
Add a write operation for a given element.- Specified by:
writein interfaceWriteBehind- Parameters:
element- the element for which a write operation will be added to the write behind queue
-
delete
public void delete(CacheEntry entry)
Add a delete operation for the given cache entry- Specified by:
deletein interfaceWriteBehind- Parameters:
entry- the cache entry for which a delete operation will be added to the write behind queue
-
setOperationsFilter
public void setOperationsFilter(OperationsFilter filter)
Set the operations filter that should be used.- Specified by:
setOperationsFilterin interfaceWriteBehind- Parameters:
filter- the filter that will be used as of now
-
stop
public void stop() throws CacheExceptionStop the coordinator and all the internal data structures.This stops as quickly as possible without losing any previously added items. However, no guarantees are made towards the processing of these items. It's highly likely that items are still inside the internal data structures and not processed.
- Specified by:
stopin interfaceWriteBehind- Throws:
CacheException- See Also:
WriteBehind.start(net.sf.ehcache.writer.CacheWriter)
-
getQueueSize
public long getQueueSize()
Gets the best estimate for items in the queue still awaiting processing. Not including elements currently processed- Specified by:
getQueueSizein interfaceWriteBehind- Returns:
- the amount of elements still awaiting processing.
-
-