List of usage examples for org.springframework.data.gemfire.function.execution GemfireOnServersFunctionTemplate GemfireOnServersFunctionTemplate
public GemfireOnServersFunctionTemplate(String poolName)
From source file:org.springframework.data.gemfire.client.GemfireDataSourcePostProcessor.java
private void createClientRegions(ConfigurableListableBeanFactory beanFactory) { GemfireFunctionOperations functionTemplate = new GemfireOnServersFunctionTemplate(cache); Iterable<String> regionNames = functionTemplate.executeAndExtract(new ListRegionsOnServerFunction()); ClientRegionFactory<?, ?> clientRegionFactory = null; if (regionNames != null && regionNames.iterator().hasNext()) { clientRegionFactory = cache.createClientRegionFactory(ClientRegionShortcut.PROXY); }/*from w w w . j a va 2 s. co m*/ for (String regionName : regionNames) { boolean createRegion = true; if (beanFactory.containsBean(regionName)) { Object existingBean = beanFactory.getBean(regionName); Assert.isTrue(existingBean instanceof Region, String.format( "Cannot create a ClientRegion bean named '%1$s'. A bean with this name of type '%2$s' already exists.", regionName, existingBean.getClass().getName())); createRegion = false; } if (createRegion) { if (logger.isDebugEnabled()) { logger.debug(String.format("Creating Client Region bean with name '%s'...", regionName)); } beanFactory.registerSingleton(regionName, clientRegionFactory.create(regionName)); } else { if (logger.isDebugEnabled()) { logger.debug(String.format("A Region named '%s' is already defined.", regionName)); } } } }