|
||||||||||
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.support.DefaultTimeoutMap<K,V>
public class DefaultTimeoutMap<K,V>
Default implementation of the TimeoutMap
.
ScheduledExecutorService
in the constructor which is used
to schedule a background task which check for old entries to purge. This implementation will shutdown the scheduler
if its being stopped.
Field Summary | |
---|---|
protected org.slf4j.Logger |
log
|
Fields inherited from class org.apache.camel.support.ServiceSupport |
---|
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending |
Constructor Summary | |
---|---|
DefaultTimeoutMap(ScheduledExecutorService executor)
|
|
DefaultTimeoutMap(ScheduledExecutorService executor,
long requestMapPollTimeMillis)
|
|
DefaultTimeoutMap(ScheduledExecutorService executor,
long requestMapPollTimeMillis,
boolean useLock)
|
Method Summary | |
---|---|
protected long |
currentTime()
|
protected void |
doStart()
Implementations override this method to support customized start/stop. |
protected void |
doStop()
Implementations override this method to support customized start/stop. |
V |
get(K key)
Looks up the value in the map by the given key. |
ScheduledExecutorService |
getExecutor()
|
Object[] |
getKeys()
Returns a copy of the keys in the map |
long |
getPurgePollTime()
|
protected boolean |
isValidForEviction(TimeoutMapEntry<K,V> entry)
A hook to allow derivations to avoid evicting the current entry |
boolean |
onEviction(K key,
V value)
Callback when the value has been evicted |
void |
purge()
Purges any old entries from the map |
void |
put(K key,
V value,
long timeoutMillis)
Adds the key value pair into the map such that some time after the given timeout the entry will be evicted |
V |
remove(K key)
Removes the object with the given key |
void |
run()
The timer task which purges old requests and schedules another poll |
protected void |
schedulePoll()
lets schedule each time to allow folks to change the time at runtime |
int |
size()
Returns the size of the map |
protected void |
updateExpireTime(TimeoutMapEntry<K,V> entry)
|
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 |
Field Detail |
---|
protected final transient org.slf4j.Logger log
Constructor Detail |
---|
public DefaultTimeoutMap(ScheduledExecutorService executor)
public DefaultTimeoutMap(ScheduledExecutorService executor, long requestMapPollTimeMillis)
public DefaultTimeoutMap(ScheduledExecutorService executor, long requestMapPollTimeMillis, boolean useLock)
Method Detail |
---|
public V get(K key)
TimeoutMap
get
in interface TimeoutMap<K,V>
key
- the key of the value to search for
public void put(K key, V value, long timeoutMillis)
TimeoutMap
put
in interface TimeoutMap<K,V>
key
- the keyvalue
- the valuetimeoutMillis
- timeout in millispublic V remove(K key)
TimeoutMap
remove
in interface TimeoutMap<K,V>
key
- key for the object to remove
public Object[] getKeys()
TimeoutMap
getKeys
in interface TimeoutMap<K,V>
public int size()
TimeoutMap
size
in interface TimeoutMap<K,V>
public void run()
run
in interface Runnable
public void purge()
TimeoutMap
purge
in interface TimeoutMap<K,V>
public long getPurgePollTime()
public ScheduledExecutorService getExecutor()
protected void schedulePoll()
protected boolean isValidForEviction(TimeoutMapEntry<K,V> entry)
public boolean onEviction(K key, V value)
TimeoutMap
onEviction
in interface TimeoutMap<K,V>
key
- the keyvalue
- the value
protected void updateExpireTime(TimeoutMapEntry<K,V> entry)
protected long currentTime()
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 |