+ cache server starts last (on container refresh) to allow regions and interests to be properly registered and started
+ add documentation on cacheserver start-up
This commit is contained in:
Costin Leau
2011-08-23 15:57:07 +03:00
parent 8160cefb87
commit afb398a1a8
6 changed files with 60 additions and 5 deletions

View File

@@ -0,0 +1,45 @@
/*
* Copyright 2011 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.data.gemfire;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.util.Assert;
import com.gemstone.gemfire.cache.server.CacheServer;
/**
* Simple bean used to check initialization order
*
* @author Costin Leau
*/
public class Init implements InitializingBean, BeanFactoryAware {
private BeanFactory bf;
public void afterPropertiesSet() {
CacheServer cs = bf.getBean(CacheServer.class);
Assert.isTrue(!cs.isRunning(), "CacheServer should not have been started yet... ");
}
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
this.bf = beanFactory;
}
}

View File

@@ -35,6 +35,11 @@ public class CacheServerNamespaceTest extends RecreatingContextTest {
return "org/springframework/data/gemfire/config/server-ns.xml";
}
@Test
public void testInitOrder() throws Exception {
// the test is actually executed through Init#afterPropertiesSet
}
@Test
public void testBasicCacheServer() throws Exception {
CacheServer cacheServer = ctx.getBean("advanced-config", CacheServer.class);

View File

@@ -5,7 +5,6 @@
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
default-lazy-init="true"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
@@ -13,6 +12,8 @@
<gfe:cache />
<bean id="bean1" class="org.springframework.data.gemfire.Init"/>
<!-- Advanced example depicting various cache server configuration options -->
<gfe:cache-server id="advanced-config" auto-startup="true"
bind-address="localhost" port="${gfe.port.6}" host-name-for-clients="localhost"
@@ -23,6 +24,8 @@
<gfe:subscription-config eviction-type="ENTRY" capacity="1000" disk-store="file://${java.io.tmpdir}"/>
</gfe:cache-server>
<bean id="bean2" class="org.springframework.data.gemfire.Init"/>
<context:property-placeholder location="classpath:port.properties" />