diff --git a/src/main/java/org/springframework/data/redis/repository/configuration/EnableRedisRepositories.java b/src/main/java/org/springframework/data/redis/repository/configuration/EnableRedisRepositories.java
index 704a31e94..4a150488a 100644
--- a/src/main/java/org/springframework/data/redis/repository/configuration/EnableRedisRepositories.java
+++ b/src/main/java/org/springframework/data/redis/repository/configuration/EnableRedisRepositories.java
@@ -168,7 +168,7 @@ public @interface EnableRedisRepositories {
/**
* Configure the {@literal notify-keyspace-events} property if not already set.
- * Use an empty {@link String} to keep not alter existing server configuration.
+ * Use an empty {@link String} to keep (not alter) existing server configuration.
*
* @return {@literal Ex} by default.
* @since 1.8
diff --git a/src/main/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtension.java b/src/main/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtension.java
index dc84e8419..b840887d2 100644
--- a/src/main/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtension.java
+++ b/src/main/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtension.java
@@ -144,7 +144,7 @@ public class RedisRepositoryConfigurationExtension extends KeyValueRepositoryCon
.addPropertyValue("enableKeyspaceEvents",
configuration.getRequiredAttribute("enableKeyspaceEvents", EnableKeyspaceEvents.class)) //
.addPropertyValue("keyspaceNotificationsConfigParameter",
- configuration.getRequiredAttribute("keyspaceNotificationsConfigParameter", String.class)) //
+ configuration.getAttribute("keyspaceNotificationsConfigParameter", String.class).orElse("")) //
.getBeanDefinition();
}
diff --git a/src/test/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtensionUnitTests.java b/src/test/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtensionUnitTests.java
index 366b96df7..7b6bffd7c 100644
--- a/src/test/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtensionUnitTests.java
+++ b/src/test/java/org/springframework/data/redis/repository/configuration/RedisRepositoryConfigurationExtensionUnitTests.java
@@ -114,6 +114,15 @@ public class RedisRepositoryConfigurationExtensionUnitTests {
assertThat(getKeyspaceNotificationsConfigParameter(beanDefintionRegistry)).isEqualTo((Object) "KEA");
}
+ @Test // DATAREDIS-1049
+ public void explicitlyEmptyKeyspaceNotificationsConfigParameterShouldBeCapturedCorrectly() {
+
+ metadata = new StandardAnnotationMetadata(ConfigWithEmptyConfigParameter.class, true);
+ BeanDefinitionRegistry beanDefintionRegistry = getBeanDefinitionRegistry();
+
+ assertThat(getKeyspaceNotificationsConfigParameter(beanDefintionRegistry)).isEqualTo("");
+ }
+
private static void assertDoesNotHaveRepo(Class> repositoryInterface,
Collection> configs) {
@@ -179,6 +188,12 @@ public class RedisRepositoryConfigurationExtensionUnitTests {
}
+ @EnableRedisRepositories(considerNestedRepositories = true, enableKeyspaceEvents = EnableKeyspaceEvents.ON_STARTUP,
+ keyspaceNotificationsConfigParameter = "")
+ static class ConfigWithEmptyConfigParameter {
+
+ }
+
@RedisHash
static class Sample {
@Id String id;