From 58a8307284d25494cec51f4dc617270fb81b935a Mon Sep 17 00:00:00 2001 From: John Blum Date: Fri, 26 Jan 2018 15:10:07 -0800 Subject: [PATCH] Add Spring Boot auto-configuration for Apache Geode Continuous Queries (CQ). --- ...GeodeContinuousQueryAutoConfiguration.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 spring-boot-data-geode/src/main/java/org/springframework/boot/data/geode/autoconfigure/GeodeContinuousQueryAutoConfiguration.java diff --git a/spring-boot-data-geode/src/main/java/org/springframework/boot/data/geode/autoconfigure/GeodeContinuousQueryAutoConfiguration.java b/spring-boot-data-geode/src/main/java/org/springframework/boot/data/geode/autoconfigure/GeodeContinuousQueryAutoConfiguration.java new file mode 100644 index 00000000..9133a389 --- /dev/null +++ b/spring-boot-data-geode/src/main/java/org/springframework/boot/data/geode/autoconfigure/GeodeContinuousQueryAutoConfiguration.java @@ -0,0 +1,46 @@ +/* + * Copyright 2018 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 + * + * http://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.boot.data.geode.autoconfigure;import org.apache.geode.cache.Cache; +import org.apache.geode.cache.client.ClientCache; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.gemfire.client.ClientCacheFactoryBean; +import org.springframework.data.gemfire.config.annotation.EnableContinuousQueries; + +/** + * Spring Boot {@link EnableAutoConfiguration auto-configuration} enabling Apache Geode's Continuous Query (CQ) + * functionality in an Spring Boot, Apache Geode {@link ClientCache} application. + * + * @author John Blum + * @see org.apache.geode.cache.client.ClientCache + * @see org.springframework.boot.autoconfigure.EnableAutoConfiguration + * @see org.springframework.context.annotation.Configuration + * @see org.springframework.data.gemfire.client.ClientCacheFactoryBean + * @see org.springframework.data.gemfire.config.annotation.EnableContinuousQueries + * @since 1.0.0 + */ +@Configuration +@ConditionalOnBean(ClientCache.class) +@ConditionalOnClass({ ClientCacheFactoryBean.class, ClientCache.class }) +@ConditionalOnMissingBean(name = "continuousQueryBeanPostProcessor", value = Cache.class) +@EnableContinuousQueries +public class GeodeContinuousQueryAutoConfiguration { + +}