|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.camel.support.ServiceSupport org.apache.camel.processor.idempotent.FileIdempotentRepository
@ManagedResource(description="File based idempotent repository") public class FileIdempotentRepository
A file based implementation of IdempotentRepository
.
Map
to avoid this class being a
memory leak.
Field Summary |
---|
Fields inherited from class org.apache.camel.support.ServiceSupport |
---|
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending |
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()
Implementations override this method to support customized start/stop. |
protected void |
doStop()
Implementations override this method to support customized start/stop. |
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.support.ServiceSupport |
---|
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, shutdown, 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 storepublic static IdempotentRepository<String> fileIdempotentRepository(File fileStore, int cacheSize)
LRUCache
as 1st level cache.
fileStore
- the file storecacheSize
- the cache sizepublic 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 filepublic 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
ServiceSupport
ServiceSupport.doStop()
for more details.
doStart
in class ServiceSupport
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
ServiceSupport.doStop()
method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext
is shutting down.
doStop
in class ServiceSupport
Exception
ServiceSupport.doStart()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |