|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.camel.impl.ServiceSupport
org.apache.camel.processor.idempotent.FileIdempotentRepository
@ManagedResource(value="FileIdempotentRepository") public class FileIdempotentRepository
A file based implementation of IdempotentRepository.
Map to avoid this class being a
memory leak.
| Constructor Summary | |
|---|---|
FileIdempotentRepository()
|
|
FileIdempotentRepository(File fileStore,
Map<String,Object> set)
|
|
| Method Summary | |
|---|---|
boolean |
add(String key)
Adds the key to the repository. |
protected void |
appendToStore(String messageId)
Appends the given message id to the file store |
boolean |
confirm(String key)
Confirms the key, after the exchange has been processed successfully. |
boolean |
contains(String key)
Returns true if this repository contains the specified element. |
protected void |
doStart()
|
protected void |
doStop()
|
static IdempotentRepository<String> |
fileIdempotentRepository(File fileStore)
Creates a new file based repository using a LRUCache
as 1st level cache with a default of 1000 entries in the cache. |
static IdempotentRepository<String> |
fileIdempotentRepository(File fileStore,
int cacheSize)
Creates a new file based repository using a LRUCache
as 1st level cache. |
static IdempotentRepository<String> |
fileIdempotentRepository(File fileStore,
int cacheSize,
long maxFileStoreSize)
Creates a new file based repository using a LRUCache
as 1st level cache. |
static IdempotentRepository<String> |
fileIdempotentRepository(File store,
Map<String,Object> cache)
Creates a new file based repository using the given Map
as 1st level cache. |
Map<String,Object> |
getCache()
|
int |
getCacheSize()
|
String |
getFilePath()
|
File |
getFileStore()
|
long |
getMaxFileStoreSize()
|
protected void |
loadStore()
Loads the given file store into the 1st level cache |
boolean |
remove(String key)
Removes the key from the repository. |
void |
reset()
Reset and clears the store to force it to reload from file |
void |
setCache(Map<String,Object> cache)
|
void |
setCacheSize(int size)
Sets the cache size |
void |
setFileStore(File fileStore)
|
void |
setMaxFileStoreSize(long maxFileStoreSize)
Sets the maximum file size for the file store in bytes. |
protected void |
trunkStore()
Trunks the file store when the max store size is hit by rewriting the 1st level cache to the file store. |
| Methods inherited from class org.apache.camel.impl.ServiceSupport |
|---|
addChildService, doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, start, stop, suspend |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.apache.camel.Service |
|---|
start, stop |
| Constructor Detail |
|---|
public FileIdempotentRepository()
public FileIdempotentRepository(File fileStore,
Map<String,Object> set)
| Method Detail |
|---|
public static IdempotentRepository<String> fileIdempotentRepository(File fileStore)
LRUCache
as 1st level cache with a default of 1000 entries in the cache.
fileStore - the file store
public static IdempotentRepository<String> fileIdempotentRepository(File fileStore,
int cacheSize)
LRUCache
as 1st level cache.
fileStore - the file storecacheSize - the cache size
public static IdempotentRepository<String> fileIdempotentRepository(File fileStore,
int cacheSize,
long maxFileStoreSize)
LRUCache
as 1st level cache.
fileStore - the file storecacheSize - the cache sizemaxFileStoreSize - the max size in bytes for the filestore file
public static IdempotentRepository<String> fileIdempotentRepository(File store,
Map<String,Object> cache)
Map
as 1st level cache.
Care should be taken to use a suitable underlying Map to avoid this class being a
memory leak.
store - the file storecache - the cache to use as 1st level cache@ManagedOperation(description="Adds the key to the store") public boolean add(String key)
IdempotentRepository
add in interface IdempotentRepository<String>key - the key of the message for duplicate test
@ManagedOperation(description="Does the store contain the given key") public boolean contains(String key)
IdempotentRepository
contains in interface IdempotentRepository<String>key - the key of the message
@ManagedOperation(description="Remove the key from the store") public boolean remove(String key)
IdempotentRepository
remove in interface IdempotentRepository<String>key - the key of the message for duplicate test
public boolean confirm(String key)
IdempotentRepository
confirm in interface IdempotentRepository<String>key - the key of the message for duplicate test
public File getFileStore()
public void setFileStore(File fileStore)
@ManagedAttribute(description="The file path for the store") public String getFilePath()
public Map<String,Object> getCache()
public void setCache(Map<String,Object> cache)
@ManagedAttribute(description="The maximum file size for the file store in bytes") public long getMaxFileStoreSize()
@ManagedAttribute(description="The maximum file size for the file store in bytes") public void setMaxFileStoreSize(long maxFileStoreSize)
public void setCacheSize(int size)
@ManagedAttribute(description="The current cache size") public int getCacheSize()
@ManagedOperation(description="Reset and reloads the file store") public void reset()
protected void appendToStore(String messageId)
messageId - the message idprotected void trunkStore()
protected void loadStore()
protected void doStart()
throws Exception
doStart in class ServiceSupportException
protected void doStop()
throws Exception
doStop in class ServiceSupportException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||