diff --git a/docs/src/reference/docbook/reference/redis-messaging.xml b/docs/src/reference/docbook/reference/redis-messaging.xml
index c09a40e4c..ea53d6ba5 100644
--- a/docs/src/reference/docbook/reference/redis-messaging.xml
+++ b/docs/src/reference/docbook/reference/redis-messaging.xml
@@ -155,7 +155,7 @@ template.convertAndSend("hello!", "world");]]>
<!-- the default ConnectionFactory -->
<redis:listener-container>
<!-- the method attribute can be skipped as the default method name is "handleMessage" -->
- <redis:listener ref="listener" method="handleMessage" channel="chatroom" />
+ <redis:listener ref="listener" method="handleMessage" topic="chatroom" />
</redis:listener-container>
<bean class="redisexample.DefaultMessageDelegate"/>
@@ -177,7 +177,7 @@ template.convertAndSend("hello!", "world");]]>
<bean id="redisContainer" class="org.springframework.data.keyvalue.redis.listener.RedisMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="messageListeners">
- <!-- map of listeners and their associated topics (channels or topics) -->
+ <!-- map of listeners and their associated topics (channels or/and patterns) -->
<map>
<entry key-ref="messageListener">
<bean class="org.springframework.data.keyvalue.redis.listener.ChannelTopic">
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/config/RedisListenerContainerParser.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/config/RedisListenerContainerParser.java
index 12fd192fd..8dca98e68 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/config/RedisListenerContainerParser.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/config/RedisListenerContainerParser.java
@@ -117,26 +117,15 @@ class RedisListenerContainerParser extends AbstractSimpleBeanDefinitionParser {
// assemble topics
Collection topics = new ArrayList();
- // get channels
- String channels = element.getAttribute("channel");
- if (StringUtils.hasText(channels)) {
- String[] array = StringUtils.delimitedListToStringArray(channels, " ");
+ // get topic
+ String xTopics = element.getAttribute("topic");
+ if (StringUtils.hasText(xTopics)) {
+ String[] array = StringUtils.delimitedListToStringArray(xTopics, " ");
for (String string : array) {
- topics.add(new ChannelTopic(string));
+ topics.add(string.contains("*") ? new PatternTopic(string) : new ChannelTopic(string));
}
}
-
- // get patterns
- String patterns = element.getAttribute("pattern");
- if (StringUtils.hasText(patterns)) {
- String[] array = StringUtils.delimitedListToStringArray(patterns, " ");
-
- for (String string : array) {
- topics.add(new PatternTopic(string));
- }
- }
-
ret[0] = builder.getBeanDefinition();
ret[1] = topics;
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/listener/ChannelTopic.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/listener/ChannelTopic.java
index 654c34b7a..17ebda41a 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/listener/ChannelTopic.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/listener/ChannelTopic.java
@@ -16,7 +16,7 @@
package org.springframework.data.keyvalue.redis.listener;
/**
- * Topic describing a channel.
+ * Channel topic implementation (maps to a Redis channel).
*
* @author Costin Leau
*/
@@ -34,9 +34,9 @@ public class ChannelTopic implements Topic {
}
/**
- * Returns the channel name.
+ * Returns the topic name.
*
- * @return channel name
+ * @return topic name
*/
public String getTopic() {
return channelName;
diff --git a/spring-data-redis/src/main/resources/org/springframework/data/keyvalue/redis/config/spring-redis-1.0.xsd b/spring-data-redis/src/main/resources/org/springframework/data/keyvalue/redis/config/spring-redis-1.0.xsd
index dea12ea92..59c815d6e 100644
--- a/spring-data-redis/src/main/resources/org/springframework/data/keyvalue/redis/config/spring-redis-1.0.xsd
+++ b/spring-data-redis/src/main/resources/org/springframework/data/keyvalue/redis/config/spring-redis-1.0.xsd
@@ -110,19 +110,12 @@ and stop as soon as possible.
-
+
-
-
-
-
-
diff --git a/spring-data-redis/src/test/resources/org/springframework/data/keyvalue/redis/config/namespace.xml b/spring-data-redis/src/test/resources/org/springframework/data/keyvalue/redis/config/namespace.xml
index 91a7cc2f3..ab17a299e 100644
--- a/spring-data-redis/src/test/resources/org/springframework/data/keyvalue/redis/config/namespace.xml
+++ b/spring-data-redis/src/test/resources/org/springframework/data/keyvalue/redis/config/namespace.xml
@@ -14,10 +14,10 @@
-
+
-
-
+
+