use of org.springframework.context.ConfigurableApplicationContext in project grails-core by grails.
the class UrlMappingsHolderFactoryBean method afterPropertiesSet.
public void afterPropertiesSet() throws Exception {
Assert.state(applicationContext != null, "Property [applicationContext] must be set!");
Assert.state(grailsApplication != null, "Property [grailsApplication] must be set!");
List urlMappings = new ArrayList();
List excludePatterns = new ArrayList();
GrailsClass[] mappings = grailsApplication.getArtefacts(UrlMappingsArtefactHandler.TYPE);
final DefaultUrlMappingEvaluator mappingEvaluator = new DefaultUrlMappingEvaluator(applicationContext);
mappingEvaluator.setPluginManager(pluginManager);
if (mappings.length == 0) {
urlMappings.addAll(mappingEvaluator.evaluateMappings(DefaultUrlMappings.getMappings()));
} else {
for (GrailsClass mapping : mappings) {
GrailsUrlMappingsClass mappingClass = (GrailsUrlMappingsClass) mapping;
List grailsClassMappings;
if (Script.class.isAssignableFrom(mappingClass.getClazz())) {
grailsClassMappings = mappingEvaluator.evaluateMappings(mappingClass.getClazz());
} else {
grailsClassMappings = mappingEvaluator.evaluateMappings(mappingClass.getMappingsClosure());
}
urlMappings.addAll(grailsClassMappings);
if (mappingClass.getExcludePatterns() != null) {
excludePatterns.addAll(mappingClass.getExcludePatterns());
}
}
}
DefaultUrlMappingsHolder defaultUrlMappingsHolder = new DefaultUrlMappingsHolder(urlMappings, excludePatterns, true);
Config config = grailsApplication.getConfig();
Integer cacheSize = config.getProperty(URL_MAPPING_CACHE_MAX_SIZE, Integer.class, null);
if (cacheSize != null) {
defaultUrlMappingsHolder.setMaxWeightedCacheCapacity(cacheSize);
}
Integer urlCreatorCacheSize = config.getProperty(URL_CREATOR_CACHE_MAX_SIZE, Integer.class, null);
if (urlCreatorCacheSize != null) {
defaultUrlMappingsHolder.setUrlCreatorMaxWeightedCacheCapacity(urlCreatorCacheSize);
}
// call initialize() after settings are in place
defaultUrlMappingsHolder.initialize();
UrlConverter urlConverter = applicationContext.containsBean(UrlConverter.BEAN_NAME) ? applicationContext.getBean(UrlConverter.BEAN_NAME, UrlConverter.class) : null;
final GrailsControllerUrlMappings grailsControllerUrlMappings = new GrailsControllerUrlMappings(grailsApplication, defaultUrlMappingsHolder, urlConverter);
((ConfigurableApplicationContext) applicationContext).addApplicationListener(new ApplicationListener<ArtefactAdditionEvent>() {
@Override
public void onApplicationEvent(ArtefactAdditionEvent event) {
GrailsClass artefact = event.getArtefact();
if (artefact instanceof GrailsControllerClass) {
grailsControllerUrlMappings.registerController((GrailsControllerClass) artefact);
}
}
});
urlMappingsHolder = grailsControllerUrlMappings;
}
use of org.springframework.context.ConfigurableApplicationContext in project redisson by redisson.
the class SpringNamespaceWikiTest method testCluster.
@Test
public void testCluster() throws Exception {
ClusterRunner clusterRunner = new ClusterRunner().addNode(new RedisRunner().requirepass("do_not_use_if_it_is_not_set").port(6379).randomDir().nosave()).addNode(new RedisRunner().requirepass("do_not_use_if_it_is_not_set").port(6380).randomDir().nosave()).addNode(new RedisRunner().requirepass("do_not_use_if_it_is_not_set").port(6381).randomDir().nosave());
List<RedisRunner.RedisProcess> nodes = clusterRunner.run();
try {
((ConfigurableApplicationContext) new ClassPathXmlApplicationContext("classpath:org/redisson/spring/support/namespace_wiki_cluster.xml")).close();
} finally {
for (RedisRunner.RedisProcess node : nodes) {
node.stop();
}
}
}
use of org.springframework.context.ConfigurableApplicationContext in project redisson by redisson.
the class SpringNamespaceWikiTest method testReplicated.
@Test
public void testReplicated() throws Exception {
RedisRunner.RedisProcess master = new RedisRunner().requirepass("do_not_use_if_it_is_not_set").nosave().randomDir().run();
RedisRunner.RedisProcess slave1 = new RedisRunner().requirepass("do_not_use_if_it_is_not_set").masterauth("do_not_use_if_it_is_not_set").port(6380).nosave().randomDir().slaveof("127.0.0.1", 6379).run();
RedisRunner.RedisProcess slave2 = new RedisRunner().requirepass("do_not_use_if_it_is_not_set").masterauth("do_not_use_if_it_is_not_set").port(6381).nosave().randomDir().slaveof("127.0.0.1", 6379).run();
try {
((ConfigurableApplicationContext) new ClassPathXmlApplicationContext("classpath:org/redisson/spring/support/namespace_wiki_replicated.xml")).close();
} finally {
master.stop();
slave1.stop();
slave2.stop();
}
}
use of org.springframework.context.ConfigurableApplicationContext in project FizzBuzzEnterpriseEdition by EnterpriseQualityCoding.
the class FizzBuzzTest method setUp.
@Before
public void setUp() {
final ApplicationContext context = new ClassPathXmlApplicationContext(TestConstants.SPRING_XML);
this.fb = (FizzBuzz) context.getBean(TestConstants.STANDARD_FIZZ_BUZZ);
this.out = System.out;
((ConfigurableApplicationContext) context).close();
}
use of org.springframework.context.ConfigurableApplicationContext in project FizzBuzzEnterpriseEdition by EnterpriseQualityCoding.
the class Main method main.
public static void main(final String[] args) {
final ApplicationContext context = new ClassPathXmlApplicationContext(Constants.SPRING_XML);
final FizzBuzz myFizzBuzz = (FizzBuzz) context.getBean(Constants.STANDARD_FIZZ_BUZZ);
final FizzBuzzUpperLimitParameter fizzBuzzUpperLimit = new DefaultFizzBuzzUpperLimitParameter();
myFizzBuzz.fizzBuzz(fizzBuzzUpperLimit.obtainUpperLimitValue());
((ConfigurableApplicationContext) context).close();
}
Aggregations