Class MemoryIdempotentRepository
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.processor.idempotent.MemoryIdempotentRepository
-
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.spi.IdempotentRepository,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
@ManagedResource(description="Memory based idempotent repository") public class MemoryIdempotentRepository extends org.apache.camel.support.service.ServiceSupport implements org.apache.camel.spi.IdempotentRepositoryA memory based implementation ofIdempotentRepository. Care should be taken to use a suitable underlyingMapto avoid this class being a memory leak.
-
-
Constructor Summary
Constructors Constructor Description MemoryIdempotentRepository()MemoryIdempotentRepository(Map<String,Object> set)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(String key)voidclear()booleanconfirm(String key)booleancontains(String key)protected voiddoStart()protected voiddoStop()Map<String,Object>getCache()intgetCacheSize()static org.apache.camel.spi.IdempotentRepositorymemoryIdempotentRepository()Creates a new memory based repository using aLRUCachewith a default of 1000 entries in the cache.static org.apache.camel.spi.IdempotentRepositorymemoryIdempotentRepository(int cacheSize)Creates a new memory based repository using aLRUCache.static org.apache.camel.spi.IdempotentRepositorymemoryIdempotentRepository(Map<String,Object> cache)Creates a new memory based repository using the givenMapto use to store the processed message ids.booleanremove(String key)voidsetCacheSize(int cacheSize)-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, 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.spi.IdempotentRepository
add, confirm, contains, remove
-
-
-
-
Method Detail
-
memoryIdempotentRepository
public static org.apache.camel.spi.IdempotentRepository memoryIdempotentRepository()
Creates a new memory based repository using aLRUCachewith a default of 1000 entries in the cache.
-
memoryIdempotentRepository
public static org.apache.camel.spi.IdempotentRepository memoryIdempotentRepository(int cacheSize)
Creates a new memory based repository using aLRUCache.- Parameters:
cacheSize- the cache size
-
memoryIdempotentRepository
public static org.apache.camel.spi.IdempotentRepository memoryIdempotentRepository(Map<String,Object> cache)
Creates a new memory based repository using the givenMapto use to store the processed message ids. Care should be taken to use a suitable underlyingMapto avoid this class being a memory leak.- Parameters:
cache- the cache
-
add
@ManagedOperation(description="Adds the key to the store") public boolean add(String key)
- Specified by:
addin interfaceorg.apache.camel.spi.IdempotentRepository
-
contains
@ManagedOperation(description="Does the store contain the given key") public boolean contains(String key)
- Specified by:
containsin interfaceorg.apache.camel.spi.IdempotentRepository
-
remove
@ManagedOperation(description="Remove the key from the store") public boolean remove(String key)
- Specified by:
removein interfaceorg.apache.camel.spi.IdempotentRepository
-
confirm
public boolean confirm(String key)
- Specified by:
confirmin interfaceorg.apache.camel.spi.IdempotentRepository
-
clear
@ManagedOperation(description="Clear the store") public void clear()
- Specified by:
clearin interfaceorg.apache.camel.spi.IdempotentRepository
-
getCacheSize
@ManagedAttribute(description="The current cache size") public int getCacheSize()
-
setCacheSize
public void setCacheSize(int cacheSize)
-
doStart
protected void doStart() throws Exception- Overrides:
doStartin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
-