Class RedisChannelPriorityMessageStore
java.lang.Object
org.springframework.integration.redis.store.RedisChannelMessageStore
org.springframework.integration.redis.store.RedisChannelPriorityMessageStore
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanClassLoaderAware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.InitializingBean
,org.springframework.integration.store.BasicMessageGroupStore
,org.springframework.integration.store.ChannelMessageStore
,org.springframework.integration.store.PriorityCapableChannelMessageStore
public class RedisChannelPriorityMessageStore
extends RedisChannelMessageStore
implements org.springframework.integration.store.PriorityCapableChannelMessageStore
Specialized Redis
PriorityCapableChannelMessageStore
that uses lists to back a QueueChannel.
Messages are removed in priority order (IntegrationMessageHeaderAccessor.PRIORITY
).
Priorities 0-9 are supported (9 the highest); invalid priority values are treated with the same priority (none)
as messages with no priority header (retrieved after any messages that have a priority).
Requires that groupId is a String.
- Since:
- 4.0
-
Constructor Summary
ConstructorDescriptionRedisChannelPriorityMessageStore
(org.springframework.data.redis.connection.RedisConnectionFactory connectionFactory) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.integration.store.MessageGroup
addMessageToGroup
(Object groupId, org.springframework.messaging.Message<?> message) int
org.springframework.integration.store.MessageGroup
getMessageGroup
(Object groupId) int
boolean
int
messageGroupSize
(Object groupId) org.springframework.messaging.Message<?>
pollMessageFromGroup
(Object groupId) void
removeMessageGroup
(Object groupId) Methods inherited from class org.springframework.integration.redis.store.RedisChannelMessageStore
afterPropertiesSet, getBeanName, getMessageGroupFactory, getRedisTemplate, setBeanClassLoader, setBeanName, setMessageGroupFactory, setValueSerializer
-
Constructor Details
-
RedisChannelPriorityMessageStore
public RedisChannelPriorityMessageStore(org.springframework.data.redis.connection.RedisConnectionFactory connectionFactory)
-
-
Method Details
-
isPriorityEnabled
public boolean isPriorityEnabled()- Specified by:
isPriorityEnabled
in interfaceorg.springframework.integration.store.PriorityCapableChannelMessageStore
-
messageGroupSize
- Specified by:
messageGroupSize
in interfaceorg.springframework.integration.store.BasicMessageGroupStore
- Overrides:
messageGroupSize
in classRedisChannelMessageStore
-
getMessageGroup
- Specified by:
getMessageGroup
in interfaceorg.springframework.integration.store.BasicMessageGroupStore
- Overrides:
getMessageGroup
in classRedisChannelMessageStore
-
addMessageToGroup
public org.springframework.integration.store.MessageGroup addMessageToGroup(Object groupId, org.springframework.messaging.Message<?> message) - Specified by:
addMessageToGroup
in interfaceorg.springframework.integration.store.BasicMessageGroupStore
- Overrides:
addMessageToGroup
in classRedisChannelMessageStore
-
pollMessageFromGroup
- Specified by:
pollMessageFromGroup
in interfaceorg.springframework.integration.store.BasicMessageGroupStore
- Overrides:
pollMessageFromGroup
in classRedisChannelMessageStore
-
getMessageGroupCount
@ManagedAttribute public int getMessageGroupCount()- Overrides:
getMessageGroupCount
in classRedisChannelMessageStore
-
removeMessageGroup
- Specified by:
removeMessageGroup
in interfaceorg.springframework.integration.store.BasicMessageGroupStore
- Overrides:
removeMessageGroup
in classRedisChannelMessageStore
-
getMessageCountForAllMessageGroups
@ManagedAttribute public int getMessageCountForAllMessageGroups()- Overrides:
getMessageCountForAllMessageGroups
in classRedisChannelMessageStore
-