@Beta
public class RedisIndexedMessageStore
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 |
|---|
RedisIndexedMessageStore(java.lang.String name,
int batchSize,
int maxMessages,
long maxAge,
de.otto.synapse.messagestore.Indexer indexer,
org.springframework.data.redis.core.RedisTemplate<java.lang.String,java.lang.String> stringRedisTemplate) |
RedisIndexedMessageStore(java.lang.String name,
int batchSize,
int maxMessages,
long maxAge,
de.otto.synapse.messagestore.Indexer indexer,
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() |
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) |
public RedisIndexedMessageStore(java.lang.String name,
int batchSize,
int maxMessages,
long maxAge,
de.otto.synapse.messagestore.Indexer indexer,
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 RedismaxMessages - the maximum number of messages stored in the message storemaxAge - maximum number of seconds after that a message will be evictedindexer - the Indexer used to index entities stored in the message storestringRedisTemplate - the RedisTemplate used to access Redispublic RedisIndexedMessageStore(java.lang.String name,
int batchSize,
int maxMessages,
long maxAge,
de.otto.synapse.messagestore.Indexer indexer,
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 RedismaxMessages - the maximum number of messages stored in the message storemaxAge - maximum number of seconds after that a message will be evictedindexer - the Indexer used to index entities stored in the message storestringRedisTemplate - 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.MessageStorepublic long size()
size in interface de.otto.synapse.messagestore.MessageStorepublic void clear()