From 6a96850aa7ef1dd7a77f1b30c29327a85bde6f57 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Thu, 6 Nov 2014 14:29:43 +0100 Subject: [PATCH] Polishing --- .../context/ApplicationContext.java | 22 +++++++++++-------- .../annotation/ConditionEvaluator.java | 2 +- .../RequestMappingInfoHandlerMapping.java | 2 +- src/asciidoc/index.adoc | 7 +++--- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/context/ApplicationContext.java b/spring-context/src/main/java/org/springframework/context/ApplicationContext.java index 776e9f492b1..c68f01265eb 100644 --- a/spring-context/src/main/java/org/springframework/context/ApplicationContext.java +++ b/spring-context/src/main/java/org/springframework/context/ApplicationContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2014 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. @@ -90,18 +90,22 @@ public interface ApplicationContext extends EnvironmentCapable, ListableBeanFact /** * Expose AutowireCapableBeanFactory functionality for this context. - *

This is not typically used by application code, except for the purpose - * of initializing bean instances that live outside the application context, + *

This is not typically used by application code, except for the purpose of + * initializing bean instances that live outside of the application context, * applying the Spring bean lifecycle (fully or partly) to them. *

Alternatively, the internal BeanFactory exposed by the * {@link ConfigurableApplicationContext} interface offers access to the - * AutowireCapableBeanFactory interface too. The present method mainly - * serves as convenient, specific facility on the ApplicationContext - * interface itself. + * {@link AutowireCapableBeanFactory} interface too. The present method mainly + * serves as a convenient, specific facility on the ApplicationContext interface. + *

NOTE: As of 4.2, this method will consistently throw IllegalStateException + * after the application context has been closed. In current Spring Framework + * versions, only refreshable application contexts behave that way; as of 4.2, + * all application context implementations will be required to comply. * @return the AutowireCapableBeanFactory for this context - * @throws IllegalStateException if the context does not support - * the AutowireCapableBeanFactory interface or does not hold an autowire-capable - * bean factory yet (usually if {@code refresh()} has never been called) + * @throws IllegalStateException if the context does not support the + * {@link AutowireCapableBeanFactory} interface, or does not hold an + * autowire-capable bean factory yet (e.g. if {@code refresh()} has + * never been called), or if the context has been closed already * @see ConfigurableApplicationContext#refresh() * @see ConfigurableApplicationContext#getBeanFactory() */ diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ConditionEvaluator.java b/spring-context/src/main/java/org/springframework/context/annotation/ConditionEvaluator.java index 917ddf9174c..14812b93d42 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ConditionEvaluator.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ConditionEvaluator.java @@ -91,7 +91,7 @@ class ConditionEvaluator { } } - Collections.sort(conditions, AnnotationAwareOrderComparator.INSTANCE); + AnnotationAwareOrderComparator.sort(conditions); for (Condition condition : conditions) { ConfigurationPhase requiredPhase = null; diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java index 8f86c18cccd..5574ccfebc0 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java @@ -55,11 +55,11 @@ import org.springframework.web.util.WebUtils; */ public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMethodMapping { - protected RequestMappingInfoHandlerMapping() { setHandlerMethodMappingNamingStrategy(new RequestMappingInfoHandlerMethodMappingNamingStrategy()); } + /** * Get the URL path patterns associated with this {@link RequestMappingInfo}. */ diff --git a/src/asciidoc/index.adoc b/src/asciidoc/index.adoc index a1e20a32eff..d4da033e3c5 100644 --- a/src/asciidoc/index.adoc +++ b/src/asciidoc/index.adoc @@ -47660,12 +47660,11 @@ element. rejection-policy="CALLER_RUNS"/> ---- - Finally, the `keep-alive` setting determines the time limit (in seconds) for which threads may remain idle before being terminated. If there are more than the core number of threads currently in the pool, after waiting this amount of time without processing a task, excess -threads will be terminated. A time value of zero will cause excess threads to terminate -immediately after executing tasks. +threads will get terminated. A time value of zero will cause excess threads to terminate +immediately after executing a task without remaining follow-up work in the task queue. [source,xml,indent=0] [subs="verbatim,quotes"] @@ -47676,6 +47675,8 @@ immediately after executing tasks. keep-alive="120"/> ---- + + [[scheduling-task-namespace-scheduled-tasks]] ==== The 'scheduled-tasks' element The most powerful feature of Spring's task namespace is the support for configuring