From 10b4cb8cb5852a42f56542794f13ef49cff54585 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Wed, 20 Jan 2021 13:53:38 +0100 Subject: [PATCH] Deprecate Spring Data Solr support Closes gh-24942 --- .../data/solr/SolrRepositoriesAutoConfiguration.java | 2 ++ .../autoconfigure/data/solr/SolrRepositoriesRegistrar.java | 1 + .../boot/autoconfigure/data/alt/solr/CitySolrRepository.java | 1 + .../data/jpa/JpaRepositoriesAutoConfigurationTests.java | 4 ++-- .../data/solr/SolrRepositoriesAutoConfigurationTests.java | 1 + .../boot/autoconfigure/data/solr/city/City.java | 1 + .../boot/autoconfigure/data/solr/city/CityRepository.java | 1 + .../src/docs/asciidoc/spring-boot-features.adoc | 1 + .../spring-boot-starter-data-solr/build.gradle | 2 +- 9 files changed, 11 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfiguration.java index d90b176f4f86..8c8b1dbeae4f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfiguration.java @@ -40,6 +40,7 @@ * * @author Christoph Strobl * @author Oliver Gierke + * @deprecated since 2.3.9 as Spring Data Solr is deprecated * @since 1.1.0 */ @Configuration(proxyBeanMethods = false) @@ -48,6 +49,7 @@ @ConditionalOnProperty(prefix = "spring.data.solr.repositories", name = "enabled", havingValue = "true", matchIfMissing = true) @Import(SolrRepositoriesRegistrar.class) +@Deprecated public class SolrRepositoriesAutoConfiguration { } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesRegistrar.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesRegistrar.java index b5f5cda2d9df..db04fe63e458 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesRegistrar.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesRegistrar.java @@ -30,6 +30,7 @@ * * @author Christoph Strobl */ +@Deprecated class SolrRepositoriesRegistrar extends AbstractRepositoryConfigurationSourceSupport { @Override diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/alt/solr/CitySolrRepository.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/alt/solr/CitySolrRepository.java index 65bf163ae9af..aa39cd674610 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/alt/solr/CitySolrRepository.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/alt/solr/CitySolrRepository.java @@ -19,6 +19,7 @@ import org.springframework.boot.autoconfigure.data.solr.city.City; import org.springframework.data.repository.Repository; +@Deprecated public interface CitySolrRepository extends Repository { } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfigurationTests.java index 9437f7cf1efb..9cf369310b72 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfigurationTests.java @@ -23,9 +23,9 @@ import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; +import org.springframework.boot.autoconfigure.data.alt.elasticsearch.CityElasticsearchDbRepository; import org.springframework.boot.autoconfigure.data.alt.jpa.CityJpaRepository; import org.springframework.boot.autoconfigure.data.alt.mongo.CityMongoDbRepository; -import org.springframework.boot.autoconfigure.data.alt.solr.CitySolrRepository; import org.springframework.boot.autoconfigure.data.jpa.city.City; import org.springframework.boot.autoconfigure.data.jpa.city.CityRepository; import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration; @@ -162,7 +162,7 @@ static class TestConfiguration { @EnableJpaRepositories( basePackageClasses = org.springframework.boot.autoconfigure.data.alt.jpa.CityJpaRepository.class, excludeFilters = { @Filter(type = FilterType.ASSIGNABLE_TYPE, value = CityMongoDbRepository.class), - @Filter(type = FilterType.ASSIGNABLE_TYPE, value = CitySolrRepository.class) }) + @Filter(type = FilterType.ASSIGNABLE_TYPE, value = CityElasticsearchDbRepository.class) }) @TestAutoConfigurationPackage(City.class) static class CustomConfiguration { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfigurationTests.java index 7f9b6216bd74..b6a2d6e91458 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/SolrRepositoriesAutoConfigurationTests.java @@ -42,6 +42,7 @@ * @author Christoph Strobl * @author Oliver Gierke */ +@Deprecated class SolrRepositoriesAutoConfigurationTests { private AnnotationConfigApplicationContext context; diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/City.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/City.java index 61b73b0e6869..773bb302f254 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/City.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/City.java @@ -24,6 +24,7 @@ * @author Christoph Strobl */ @SolrDocument(collection = "collection1") +@Deprecated public class City { @Id diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/CityRepository.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/CityRepository.java index d2c3928183d9..f960b267b503 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/CityRepository.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/solr/city/CityRepository.java @@ -20,6 +20,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.repository.Repository; +@Deprecated public interface CityRepository extends Repository { Page findByNameStartingWith(String name, Pageable page); diff --git a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc index 3dbdd7e4437e..60f05a8f6521 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc @@ -4494,6 +4494,7 @@ https://lucene.apache.org/solr/[Apache Solr] is a search engine. Spring Boot offers basic auto-configuration for the Solr 5 client library and the abstractions on top of it provided by https://github.com/spring-projects/spring-data-solr[Spring Data Solr]. There is a `spring-boot-starter-data-solr` "`Starter`" for collecting the dependencies in a convenient way. +NOTE: As of Spring Boot 2.3, support for Spring Data Solr has been deprecated and will be removed in a future release. [[boot-features-connecting-to-solr]] diff --git a/spring-boot-project/spring-boot-starters/spring-boot-starter-data-solr/build.gradle b/spring-boot-project/spring-boot-starters/spring-boot-starter-data-solr/build.gradle index 83a0fd37f394..983b85fd1218 100644 --- a/spring-boot-project/spring-boot-starters/spring-boot-starter-data-solr/build.gradle +++ b/spring-boot-project/spring-boot-starters/spring-boot-starter-data-solr/build.gradle @@ -2,7 +2,7 @@ plugins { id "org.springframework.boot.starter" } -description = "Starter for using the Apache Solr search platform with Spring Data Solr" +description = "Starter for using the Apache Solr search platform with Spring Data Solr. Deprecated since 2.3.9" dependencies { api(project(":spring-boot-project:spring-boot-starters:spring-boot-starter"))