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:
John Blum
2016-10-04 21:39:39 -07:00
parent b4e0fd59d1
commit 2fda663a82
2 changed files with 27 additions and 0 deletions

View File

@@ -135,6 +135,9 @@ public class CacheServerConfiguration extends PeerCacheConfiguration {
}
}
/**
* {@inheritDoc}
*/
@Override
protected Class getAnnotationType() {
return CacheServerApplication.class;

View File

@@ -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.
*