public class RedisMessageStore
extends java.lang.Object
implements de.otto.synapse.messagestore.WritableMessageStore
The store can be configured like a ring-buffer to only store the latest N messages.
| Constructor and Description |
|---|
RedisMessageStore(java.lang.String channelName,
int batchSize,
int ringBufferSize,
org.springframework.data.redis.core.RedisTemplate<java.lang.String,java.lang.String> stringRedisTemplate) |
RedisMessageStore(java.lang.String channelName,
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.message.TextMessage message) |
void |
clear() |
void |
close() |
java.lang.String |
getChannelName() |
de.otto.synapse.channel.ChannelPosition |
getLatestChannelPosition() |
int |
size() |
java.util.stream.Stream<de.otto.synapse.message.TextMessage> |
stream() |
public RedisMessageStore(java.lang.String channelName,
int batchSize,
int ringBufferSize,
org.springframework.data.redis.core.RedisTemplate<java.lang.String,java.lang.String> stringRedisTemplate)
channelName - the name of the channel whose messages are stored in the RedisMessageStorebatchSize - 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 RedisMessageStore(java.lang.String channelName,
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)
channelName - the name of the channel whose messages are stored in the RedisMessageStorebatchSize - 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 Redispublic java.lang.String getChannelName()
public void add(de.otto.synapse.message.TextMessage message)
add in interface de.otto.synapse.messagestore.WritableMessageStorepublic de.otto.synapse.channel.ChannelPosition getLatestChannelPosition()
getLatestChannelPosition in interface de.otto.synapse.messagestore.MessageStorepublic java.util.stream.Stream<de.otto.synapse.message.TextMessage> stream()
stream in interface de.otto.synapse.messagestore.MessageStorepublic int 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()