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;