Refactor @ConditionalOnBean to be conditional on an instance of o.a.g.cache.GemFireCache.
Refactor @ConditionalOnClass to be conditional on an SDG and Apache Geode type based on functional concern.
This commit is contained in:
@@ -22,8 +22,7 @@ import java.util.Optional;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.client.ClientCache;
|
||||
import org.apache.geode.cache.GemFireCache;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizers;
|
||||
@@ -33,10 +32,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.gemfire.CacheFactoryBean;
|
||||
import org.springframework.data.gemfire.cache.GemfireCacheManager;
|
||||
import org.springframework.data.gemfire.cache.config.EnableGemfireCaching;
|
||||
import org.springframework.data.gemfire.client.ClientCacheFactoryBean;
|
||||
|
||||
/**
|
||||
* Cache auto-configuration for Spring's Cache Abstraction, using Apache Geode as the caching provider.
|
||||
@@ -50,8 +47,8 @@ import org.springframework.data.gemfire.client.ClientCacheFactoryBean;
|
||||
* @since 1.5.0
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnBean({ CacheFactoryBean.class, Cache.class, ClientCacheFactoryBean.class, ClientCache.class })
|
||||
@ConditionalOnClass(GemfireCacheManager.class)
|
||||
@ConditionalOnBean(GemFireCache.class)
|
||||
@ConditionalOnClass({ GemfireCacheManager.class, GemFireCache.class })
|
||||
@ConditionalOnMissingBean(CacheManager.class)
|
||||
@AutoConfigureAfter(GeodeClientCacheAutoConfiguration.class)
|
||||
@EnableGemfireCaching
|
||||
@@ -65,7 +62,9 @@ class GeodeCachingProviderAutoConfiguration {
|
||||
@Autowired
|
||||
private GemfireCacheManager cacheManager;
|
||||
|
||||
GeodeCachingProviderAutoConfiguration(CacheProperties cacheProperties, CacheManagerCustomizers cacheManagerCustomizers) {
|
||||
GeodeCachingProviderAutoConfiguration(CacheProperties cacheProperties,
|
||||
CacheManagerCustomizers cacheManagerCustomizers) {
|
||||
|
||||
this.cacheProperties = cacheProperties;
|
||||
this.cacheManagerCustomizers = cacheManagerCustomizers;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,10 @@
|
||||
* permissions and limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.data.geode.autoconfigure;import org.apache.geode.cache.Cache;
|
||||
package org.springframework.boot.data.geode.autoconfigure;
|
||||
|
||||
import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.GemFireCache;
|
||||
import org.apache.geode.cache.client.ClientCache;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
@@ -38,7 +41,7 @@ import org.springframework.data.gemfire.config.annotation.EnableContinuousQuerie
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnBean(ClientCache.class)
|
||||
@ConditionalOnBean(GemFireCache.class)
|
||||
@ConditionalOnClass({ ClientCacheFactoryBean.class, ClientCache.class })
|
||||
@ConditionalOnMissingBean(name = "continuousQueryBeanPostProcessor", value = Cache.class)
|
||||
@AutoConfigureAfter(GeodeClientCacheAutoConfiguration.class)
|
||||
|
||||
@@ -16,29 +16,30 @@
|
||||
|
||||
package org.springframework.boot.data.geode.autoconfigure;
|
||||
|
||||
import org.apache.geode.cache.GemFireCache;
|
||||
import org.apache.geode.cache.client.ClientCache;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.gemfire.client.ClientCacheFactoryBean;
|
||||
import org.springframework.data.gemfire.function.config.EnableGemfireFunctionExecutions;
|
||||
import org.springframework.data.gemfire.function.execution.GemfireFunctionOperations;
|
||||
|
||||
/**
|
||||
* Spring Boot {@link EnableAutoConfiguration auto-configuration} enabling Apache Geode's Function Execution
|
||||
* functionality in a Spring Boot, Apache Geode {@link ClientCache} application.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.apache.geode.cache.client.ClientCache
|
||||
* @see org.apache.geode.cache.GemFireCache
|
||||
* @see org.springframework.boot.autoconfigure.EnableAutoConfiguration
|
||||
* @see org.springframework.context.annotation.Configuration
|
||||
* @see org.springframework.data.gemfire.client.ClientCacheFactoryBean
|
||||
* @see org.springframework.data.gemfire.function.execution.GemfireFunctionOperations
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnBean(ClientCache.class)
|
||||
@ConditionalOnClass({ ClientCacheFactoryBean.class, ClientCache.class })
|
||||
@ConditionalOnBean(GemFireCache.class)
|
||||
@ConditionalOnClass({ GemfireFunctionOperations.class, GemFireCache.class })
|
||||
@AutoConfigureAfter(GeodeClientCacheAutoConfiguration.class)
|
||||
@EnableGemfireFunctionExecutions
|
||||
@SuppressWarnings("unused")
|
||||
|
||||
Reference in New Issue
Block a user