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 ofIdempotentRepository
. Care should be taken to use a suitable underlyingMap
to 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 boolean
add(String key)
void
clear()
boolean
confirm(String key)
boolean
contains(String key)
protected void
doStart()
protected void
doStop()
Map<String,Object>
getCache()
int
getCacheSize()
static org.apache.camel.spi.IdempotentRepository
memoryIdempotentRepository()
Creates a new memory based repository using aLRUCache
with a default of 1000 entries in the cache.static org.apache.camel.spi.IdempotentRepository
memoryIdempotentRepository(int cacheSize)
Creates a new memory based repository using aLRUCache
.static org.apache.camel.spi.IdempotentRepository
memoryIdempotentRepository(Map<String,Object> cache)
Creates a new memory based repository using the givenMap
to use to store the processed message ids.boolean
remove(String key)
void
setCacheSize(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 aLRUCache
with 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 givenMap
to use to store the processed message ids. Care should be taken to use a suitable underlyingMap
to 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:
add
in interfaceorg.apache.camel.spi.IdempotentRepository
-
contains
@ManagedOperation(description="Does the store contain the given key") public boolean contains(String key)
- Specified by:
contains
in interfaceorg.apache.camel.spi.IdempotentRepository
-
remove
@ManagedOperation(description="Remove the key from the store") public boolean remove(String key)
- Specified by:
remove
in interfaceorg.apache.camel.spi.IdempotentRepository
-
confirm
public boolean confirm(String key)
- Specified by:
confirm
in interfaceorg.apache.camel.spi.IdempotentRepository
-
clear
@ManagedOperation(description="Clear the store") public void clear()
- Specified by:
clear
in 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:
doStart
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
-