diff --git a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/EnableRedisServer.java b/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/EnableRedisServer.java deleted file mode 100644 index a957c63d..00000000 --- a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/EnableRedisServer.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2012-2022 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.springframework.data.gemfire.config.annotation; - -import java.lang.annotation.Annotation; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -/** - * The {@link EnableRedisServer} annotation marks a Spring {@link Configuration @Configuration} annotated {@link Class} - * to embed the Redis service in this cluster member. - * - * The Redis service implements the Redis server protocol enabling Redis clients to connect to and inter-operate with - * Pivotal GemFire or Apache Geode. - * - * However, the embedded Pivotal GemFire/Apache Geode Redis Service can be enabled/disabled externally - * in {@literal application.properties} by using the {@literal spring.data.gemfire.service.redis.enabled} property - * even when this {@link Annotation} is present, thereby serving as a toggle. - * - * @author John Blum - * @see java.lang.annotation.Annotation - * @see org.springframework.context.annotation.Import - * @see org.springframework.data.gemfire.config.annotation.MemcachedServerConfiguration - * @since 1.9.0 - * @deprecated Support for the Redis Server protocol in Apache Geode to service Redis clients is targeted - * to be removed in the Apache Geode project as of Apache Geode 1.15. - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Documented -@Inherited -@Deprecated -@Import(RedisServerConfiguration.class) -@UsesGemFireProperties -@SuppressWarnings("unused") -public @interface EnableRedisServer { - - /** - * Configures the Network bind-address on which the Redis server will accept connections. - * - * Defaults to {@literal localhost}. - * - * Use the {@literal spring.data.gemfire.service.redis.bind-address} property in {@literal application.properties}. - */ - String bindAddress() default ""; - - /** - * Configures the Network port on which the Redis server will listen for Redis client connections. - * - * Defaults to {@literal 6379}. - * - * Use the {@literal spring.data.gemfire.service.redis.port} property in {@literal application.properties}. - */ - int port() default RedisServerConfiguration.DEFAULT_REDIS_PORT; - -} diff --git a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/RedisServerConfiguration.java b/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/RedisServerConfiguration.java deleted file mode 100644 index 5649416f..00000000 --- a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/RedisServerConfiguration.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2012-2022 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.springframework.data.gemfire.config.annotation; - -import java.lang.annotation.Annotation; -import java.util.Map; -import java.util.Optional; -import java.util.Properties; - -import org.springframework.context.annotation.ImportBeanDefinitionRegistrar; -import org.springframework.data.gemfire.config.annotation.support.EmbeddedServiceConfigurationSupport; -import org.springframework.data.gemfire.util.PropertiesBuilder; - -/** - * The {@link RedisServerConfiguration} class is a Spring {@link ImportBeanDefinitionRegistrar} that applies - * additional configuration using Pivotal GemFire/Apache Geode {@link Properties} to configure - * an embedded Redis server. - * - * @author John Blum - * @see org.springframework.context.annotation.ImportBeanDefinitionRegistrar - * @see org.springframework.data.gemfire.config.annotation.EnableRedisServer - * @see org.springframework.data.gemfire.config.annotation.support.EmbeddedServiceConfigurationSupport - * @since 1.9.0 - * @deprecated Support for the Redis Server protocol in Apache Geode to service Redis clients is targeted - * to be removed in the Apache Geode project as of Apache Geode 1.15. - */ -@Deprecated -public class RedisServerConfiguration extends EmbeddedServiceConfigurationSupport { - - protected static final int DEFAULT_REDIS_PORT = 6379; - - /** - * Returns the {@link EnableRedisServer} {@link java.lang.annotation.Annotation} {@link Class} type. - * - * @return the {@link EnableRedisServer} {@link java.lang.annotation.Annotation} {@link Class} type. - * @see org.springframework.data.gemfire.config.annotation.EnableRedisServer - */ - @Override - protected Class getAnnotationType() { - return EnableRedisServer.class; - } - - @Override - protected Properties toGemFireProperties(Map annotationAttributes) { - - return Optional.ofNullable(resolveProperty(redisServiceProperty("enabled"), Boolean.TRUE)) - .filter(Boolean.TRUE::equals) - .map(enabled -> - - PropertiesBuilder.create() - .setProperty("redis-bind-address", - resolveProperty(redisServiceProperty("bind-address"), - (String) annotationAttributes.get("bindAddress"))) - .setProperty("redis-port", - resolvePort(resolveProperty(redisServiceProperty("port"), - (Integer) annotationAttributes.get("port")), DEFAULT_REDIS_PORT)) - .build() - - ).orElseGet(Properties::new); - } -} diff --git a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractAnnotationConfigSupport.java b/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractAnnotationConfigSupport.java index 576fdb53..6f9aeb60 100644 --- a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractAnnotationConfigSupport.java +++ b/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractAnnotationConfigSupport.java @@ -805,10 +805,6 @@ public abstract class AbstractAnnotationConfigSupport return String.format("%1$s%2$s", propertyName("service."), propertyNameSuffix); } - protected String redisServiceProperty(String propertyNameSuffix) { - return String.format("%1$s%2$s", serviceProperty("redis."), propertyNameSuffix); - } - protected String memcachedServiceProperty(String propertyNameSuffix) { return String.format("%1$s%2$s", serviceProperty("memcached."), propertyNameSuffix); } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableGemFirePropertiesIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableGemFirePropertiesIntegrationTests.java index b1fc46fc..97119b5f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableGemFirePropertiesIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableGemFirePropertiesIntegrationTests.java @@ -39,10 +39,9 @@ import org.springframework.mock.env.MockPropertySource; import org.springframework.util.StringUtils; /** - * Integration tests for {@link EnableAuth}, {@link EnableGemFireProperties}, {@link EnableHttpService}, + * Integration Tests for {@link EnableAuth}, {@link EnableGemFireProperties}, {@link EnableHttpService}, * {@link EnableLocator}, {@link EnableLogging}, {@link EnableManager}, {@link EnableMemcachedServer}, - * {@link EnableOffHeap}, {@link EnableRedisServer}, {@link EnableSecurity}, {@link EnableSsl}, - * {@link EnableStatistics}. + * {@link EnableOffHeap}, {@link EnableSecurity}, {@link EnableSsl}, {@link EnableStatistics}. * * @author John Blum * @see java.util.Properties @@ -330,29 +329,6 @@ public class EnableGemFirePropertiesIntegrationTests extends SpringApplicationCo assertThat(gemfireCache.getPdxSerializer()).isEqualTo(mockPdxSerializer); } - @Test - public void redisServerGemFirePropertiesConfiguration() { - - PropertySource testPropertySource = new MockPropertySource("TestPropertySource") - .withProperty("spring.data.gemfire.service.redis.bind-address", "10.16.8.4") - .withProperty("spring.data.gemfire.service.redis.port", "13579"); - - newApplicationContext(testPropertySource, TestRedisServerGemFirePropertiesConfiguration.class); - - assertThat(containsBean("gemfireCache")).isTrue(); - - GemFireCache gemfireCache = getBean("gemfireCache", GemFireCache.class); - - assertThat(gemfireCache).isNotNull(); - assertThat(gemfireCache.getDistributedSystem()).isNotNull(); - - Properties gemfireProperties = gemfireCache.getDistributedSystem().getProperties(); - - assertThat(gemfireProperties).isNotNull(); - assertThat(gemfireProperties.getProperty("redis-bind-address")).isEqualTo("10.16.8.4"); - assertThat(gemfireProperties.getProperty("redis-port")).isEqualTo("13579"); - } - @Test public void securityGemFirePropertiesConfiguration() { @@ -536,12 +512,6 @@ public class EnableGemFirePropertiesIntegrationTests extends SpringApplicationCo } } - @EnableGemFireMockObjects - @PeerCacheApplication - @EnableGemFireProperties - @EnableRedisServer - static class TestRedisServerGemFirePropertiesConfiguration { } - @EnableGemFireMockObjects @PeerCacheApplication @EnableGemFireProperties diff --git a/src/main/asciidoc/reference/bootstrap-annotations-quickstart.adoc b/src/main/asciidoc/reference/bootstrap-annotations-quickstart.adoc index bd978479..4503bfc0 100644 --- a/src/main/asciidoc/reference/bootstrap-annotations-quickstart.adoc +++ b/src/main/asciidoc/reference/bootstrap-annotations-quickstart.adoc @@ -157,34 +157,6 @@ See {sdg-javadoc}/org/springframework/data/gemfire/config/annotation/EnableMemca See <> for more details. -[[bootstap-annotations-quickstart-redisserver]] -== Configure the Embedded Redis Server - -Annotate your Spring `@PeerCacheApplication` or `@CacheServerApplication` class with `@EnableRedisServer` to start -the embedded Redis server listening on port `6379`, as follows: - -[source,java] ----- -@SpringBootApplication -@CacheServerApplication -@EnableRedisServer -public class ServerApplication { - - public static void main(String[] args) { - SpringApplication.run(ServerApplication.class, args); - } -} ----- - -NOTE: `@EnableRedisServer` can only be used with {data-store-name} server applications. - -WARNING: You must explicitly declare the `org.apache.geode:geode-redis` module on your Spring [Boot] application -classpath. - -See {sdg-javadoc}/org/springframework/data/gemfire/config/annotation/EnableRedisServer.html[`@EnableRedisServer` Javadoc]. - -See <> for more details. - [[bootstap-annotations-quickstart-logging]] == Configure Logging diff --git a/src/main/asciidoc/reference/bootstrap-annotations.adoc b/src/main/asciidoc/reference/bootstrap-annotations.adoc index 129553ed..39c3c308 100644 --- a/src/main/asciidoc/reference/bootstrap-annotations.adoc +++ b/src/main/asciidoc/reference/bootstrap-annotations.adoc @@ -774,31 +774,6 @@ public class ServerApplication { .. } More details on {data-store-name}'s Memcached service (called "Gemcached") can be found {x-data-store-docs}/tools_modules/gemcached/chapter_overview.html[here]. -[[bootstrap-annotation-config-embedded-services-redis]] -=== Configuring the Embedded Redis Server - -{data-store-name} also implements the Redis server protocol, which enables Redis clients to connect to and communicate -with a cluster of {data-store-name} servers to issue Redis commands. As of this writing, the Redis server protocol -support in {data-store-name} is still experimental. - -To enable the embedded Redis service, add the `@EnableRedisServer` annotation to any `@PeerCacheApplication` -or `@CacheServerApplication` annotated class, as follows: - -.Spring `CacheServer` application running an embedded Redis server -[source, java] ----- -@SpringBootApplication -@CacheServerApplication -@EnableRedisServer -public class ServerApplication { .. } ----- - -WARNING: You must explicitly declare the `org.apache.geode:geode-redis` module on your Spring [Boot] application -classpath. - -More details on {data-store-name}'s Redis adapter can be found -{x-data-store-docs}/tools_modules/redis_adapter.html[here]. - [[bootstrap-annotation-config-logging]] == Configuring Logging