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.IdempotentRepository
A memory based implementation of
IdempotentRepository.
Care should be taken to use a suitable underlying Map to avoid this class being a memory leak.-
Field Summary
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING -
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidclear()booleanbooleanprotected voiddoStart()protected voiddoStop()getCache()intstatic org.apache.camel.spi.IdempotentRepositoryCreates 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.booleanvoidsetCacheSize(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, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.camel.spi.IdempotentRepository
add, confirm, contains, removeMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
MemoryIdempotentRepository
public MemoryIdempotentRepository() -
MemoryIdempotentRepository
-
-
Method Details
-
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
- 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
- Specified by:
removein interfaceorg.apache.camel.spi.IdempotentRepository
-
confirm
- 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
-
getCache
-
getCacheSize
@ManagedAttribute(description="The current cache size") public int getCacheSize() -
setCacheSize
public void setCacheSize(int cacheSize) -
doStart
- Overrides:
doStartin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doStop
- Overrides:
doStopin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-