SGF-545 - Register the ClientRegionPoolBeanFactoryPostProcessor for the new Annotation config model.
(cherry picked from commit 61c46b504563c743eea4e0c8b9e8806c8090e7e7) Signed-off-by: John Blum <jblum@pivotal.io>
This commit is contained in:
@@ -135,6 +135,9 @@ public class CacheServerConfiguration extends PeerCacheConfiguration {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected Class getAnnotationType() {
|
||||
return CacheServerApplication.class;
|
||||
|
||||
@@ -18,13 +18,17 @@
|
||||
package org.springframework.data.gemfire.config.annotation;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.annotation.AnnotationAttributes;
|
||||
import org.springframework.core.type.AnnotationMetadata;
|
||||
import org.springframework.data.gemfire.CacheFactoryBean;
|
||||
import org.springframework.data.gemfire.client.ClientCacheFactoryBean;
|
||||
import org.springframework.data.gemfire.config.support.ClientRegionPoolBeanFactoryPostProcessor;
|
||||
import org.springframework.data.gemfire.support.ConnectionEndpoint;
|
||||
import org.springframework.data.gemfire.support.ConnectionEndpointList;
|
||||
|
||||
@@ -43,6 +47,9 @@ import org.springframework.data.gemfire.support.ConnectionEndpointList;
|
||||
@SuppressWarnings("unused")
|
||||
public class ClientCacheConfiguration extends AbstractCacheConfiguration {
|
||||
|
||||
private static final AtomicBoolean CLIENT_REGION_POOL_BEAN_FACTORY_POST_PROCESSOR_REGISTERED =
|
||||
new AtomicBoolean(false);
|
||||
|
||||
protected static final boolean DEFAULT_READY_FOR_EVENTS = false;
|
||||
|
||||
protected static final String DEFAULT_NAME = "SpringBasedCacheClientApplication";
|
||||
@@ -118,6 +125,23 @@ public class ClientCacheConfiguration extends AbstractCacheConfiguration {
|
||||
return (T) new ClientCacheFactoryBean();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected void configureInfrastructure(AnnotationMetadata importMetadata) {
|
||||
super.configureInfrastructure(importMetadata);
|
||||
registerClientRegionPoolBeanFactoryPostProcessor(importMetadata);
|
||||
}
|
||||
|
||||
/* (non-Javadoc) */
|
||||
protected void registerClientRegionPoolBeanFactoryPostProcessor(AnnotationMetadata importMetadata) {
|
||||
if (CLIENT_REGION_POOL_BEAN_FACTORY_POST_PROCESSOR_REGISTERED.compareAndSet(false, true)) {
|
||||
register(BeanDefinitionBuilder.rootBeanDefinition(ClientRegionPoolBeanFactoryPostProcessor.class)
|
||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures GemFire {@link com.gemstone.gemfire.cache.client.ClientCache} specific settings.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user