@Beta
public class RedisRingBufferMessageStore
extends java.lang.Object
implements de.otto.synapse.messagestore.MessageStore
The store can be configured like a ring-buffer to only store the latest N messages.
| Constructor and Description |
|---|
RedisRingBufferMessageStore(java.lang.String name,
int batchSize,
int ringBufferSize,
org.springframework.data.redis.core.RedisTemplate<java.lang.String,java.lang.String> stringRedisTemplate) |
RedisRingBufferMessageStore(java.lang.String name,
int batchSize,
int ringBufferSize,
org.springframework.data.redis.core.RedisTemplate<java.lang.String,java.lang.String> stringRedisTemplate,
de.otto.synapse.translator.Encoder<java.lang.String> messageEncoder,
de.otto.synapse.translator.Decoder<java.lang.String> messageDecoder) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(de.otto.synapse.messagestore.MessageStoreEntry entry) |
void |
clear() |
void |
close() |
java.util.Set<java.lang.String> |
getChannelNames() |
com.google.common.collect.ImmutableSet<de.otto.synapse.messagestore.Index> |
getIndexes() |
de.otto.synapse.channel.ChannelPosition |
getLatestChannelPosition(java.lang.String channelName) |
long |
size() |
java.util.stream.Stream<de.otto.synapse.messagestore.MessageStoreEntry> |
stream() |
java.util.stream.Stream<de.otto.synapse.messagestore.MessageStoreEntry> |
stream(de.otto.synapse.messagestore.Index index,
java.lang.String value)
Deprecated.
Unsupported operation.
|
public RedisRingBufferMessageStore(java.lang.String name,
int batchSize,
int ringBufferSize,
org.springframework.data.redis.core.RedisTemplate<java.lang.String,java.lang.String> stringRedisTemplate)
name - the name of the message storebatchSize - the size of the batches used to fetch messages from RedisringBufferSize - the maximum number of messages stored in the ring-bufferstringRedisTemplate - the RedisTemplate used to access Redispublic RedisRingBufferMessageStore(java.lang.String name,
int batchSize,
int ringBufferSize,
org.springframework.data.redis.core.RedisTemplate<java.lang.String,java.lang.String> stringRedisTemplate,
de.otto.synapse.translator.Encoder<java.lang.String> messageEncoder,
de.otto.synapse.translator.Decoder<java.lang.String> messageDecoder)
name - the name of the message storebatchSize - the size of the batches used to fetch messages from RedisringBufferSize - the maximum number of messages stored in the ring-bufferstringRedisTemplate - the RedisTemplate used to access RedismessageEncoder - the encoder used to encode messages into the string-representation stored in RedismessageDecoder - the decoder used to decode messages from the string-representation stored in Redispublic void add(de.otto.synapse.messagestore.MessageStoreEntry entry)
add in interface de.otto.synapse.messagestore.MessageStorepublic java.util.Set<java.lang.String> getChannelNames()
getChannelNames in interface de.otto.synapse.messagestore.MessageStorepublic com.google.common.collect.ImmutableSet<de.otto.synapse.messagestore.Index> getIndexes()
getIndexes in interface de.otto.synapse.messagestore.MessageStorepublic de.otto.synapse.channel.ChannelPosition getLatestChannelPosition(java.lang.String channelName)
getLatestChannelPosition in interface de.otto.synapse.messagestore.MessageStorepublic java.util.stream.Stream<de.otto.synapse.messagestore.MessageStoreEntry> stream()
stream in interface de.otto.synapse.messagestore.MessageStorepublic java.util.stream.Stream<de.otto.synapse.messagestore.MessageStoreEntry> stream(de.otto.synapse.messagestore.Index index,
java.lang.String value)
stream in interface de.otto.synapse.messagestore.MessageStorejava.lang.UnsupportedOperationException - alwayspublic long size()
size in interface de.otto.synapse.messagestore.MessageStorepublic void close()
close in interface de.otto.synapse.messagestore.MessageStoreclose in interface java.lang.AutoCloseablepublic void clear()