Commit Graph

4122 Commits (7ecbbc11f2a712d9af91c1196fa53d796979fe4e)
 

Author SHA1 Message Date
Dave Syer 12724bf332 Fix ordering of keys in PropertySourcesPropertyValues
Since @ConfigurationProperties binding uses a single instance of
PropertySourcesPropertyValues per bean, there doesn't seem to be
any issue with using a normal LinkedHashMap. Then the order
passed in as PropertySources will be preserved.

Fixes gh-2487
10 years ago
Andy Wilkinson 0ef3de4d82 Document how to disable auto registration of a Servlet or Filter bean
Closes gh-2173
10 years ago
Andy Wilkinson b183309728 Stop a BeanPostProcessor from preventing config of packages to scan
Previously, if a BeanPostProcessor bean was declared in a configuration
class that depended on the persistence context, packages to scan would
not be configured on the LocalContainerEntityManagerFactoryBean. This
was due to the BeanPostProcessor bean triggering the early instantiation
of the LCEMFB before EntityScanBeanPostProcessor, the BeanPostProcessor,
that applies the @EntityScan configuration, had been given a chance to
configure it.

This commit updates EntityScanBeanPostProcessor to implement Ordered
with an order of zero. This ensures that its ordering is predictable
and that it will be driven before any unordered BeanPostProcessor. This
means that, unless the user has specifically ordered their
BeanPostProcessor to run before EntityScanBeanPostProcessor, 
LCEMFB’s packages to scan will be configured as expected.

Fixes gh-2478
10 years ago
Stephane Nicoll 1035e5b029 Expose RepositoryRestMvcBootConfiguration
If an application defines a custom RepositoryRestMvcConfiguration, all
Spring Boot defaults are lots. While this sounds sensible, it can be
confusing as Spring Boot exposes properties (`spring.data.rest.*`) that
are no longer honored.

RepositoryRestMvcBootConfiguration is now public and can be used as an
extension point for those who need to customize the Spring Data REST
configuration and keep boot's specific defaults.

Fixes gh-2392
10 years ago
Andy Wilkinson 11b7fd832d Report non-matching outer class conditions
Update ConditionEvaluationReport so that, whenever a negative outcome
is added for a source, any existing outcomes for inner classes of that
source are updated with a non-matching outcome that indicates that the
outer configuration did not match.

Conditions are evaluated in two phases; PARSE_CONFIGURATION first and
REGISTER_BEAN second. If a parent class’s conditions match in
PARSE_CONFIGURATION then its inner classes will have their
PARSE_CONFIGURATION conditions evaluated. If they all match, the inner
class will be reported as a positive match in the auto-configuration
report even if the outer class does not match as a result of the
subsequent evaluation of a REGISTER_BEAN condition.

Fixes gh-2122
10 years ago
Phillip Webb 636898f9ad Polish 10 years ago
Andy Wilkinson 5922cfa41f Avoid use of SimpleNamingContextBuilder as it pollutes JVM’s JNDI config
Closes gh-2397
10 years ago
Andy Wilkinson 82d1e61ab1 Prevent attempt to export MBean for DataSource retreived from JNDI
Tomcat 8's default DataSource implemention is an MBean. Previously,
when such a DataSource was consumed from JNDI and an MBeanExporter had
been auto-configured an attempt would be made to export this MBean to
the MBean server. This would fail due to Tomcat having already
registered the MBean.

This commit updates JndiDataSourceAutoConfiguration to instruct the
MBeanExporter (if there is one) not to export a DataSource MBean
that's been retrieved from JNDI. The assumption is that any MBean in
JNDI will have already been registered with the MBean server by the
same infrastructure that registered it with JNDI.

Fixes gh-2397
10 years ago
Andy Wilkinson b40f689e1d Merge branch '1.1.x'
Conflicts:
	spring-boot-dependencies/pom.xml
10 years ago
Andy Wilkinson 6aaa5ee933 Upgrade to CRaSH 1.3.1
Closes gh-2425
10 years ago
Stephane Nicoll 23d7a6bd8f Merge pull request #2469 from izeye/application-properties
* application-properties:
  Improve doc for application.properties.
10 years ago
izeye 319663a628 Improve doc for application.properties. 10 years ago
Andy Wilkinson b4cb7a35c9 Document spring.http.converters.preferred-json-mapper
See gh-2247
10 years ago
Andy Wilkinson b39ecdf006 Rename preferred-mapper property so its clear it only applies to JSON
preferred-mapper has been renamed to preferred-json-mapper to make it
clear that it only affects the JSON mapper and that the XML mapper
that will be used (if any) is unaffected

See gh-2247
10 years ago
Andy Wilkinson 230048ae8b Prefer Jackson unless user explicity states preference for Gson
This commit rewords the changes made in d718a80 so that simply adding
Gson to the classpath isn't sufficient to stop Jackson being used
for HTTP JSON mapping. To use Gson, the user must now either remove
Jackson from the classpath (not an option if they also wish to use
the Actuator) or configure the spring.http.converters.preferred-mapper
property with a value gson.

Closes gh-2247
10 years ago
Andy Wilkinson e5d653dbd4 Update to Spring AMQP 1.4.3.RELEASE
Closes gh-2452
10 years ago
Andy Wilkinson f64081872c Merge branch '1.1.x' 10 years ago
Andy Wilkinson 9212574191 Upgrade to Spring AMQP 1.3.9.RELEASE
Closes gh-2453
10 years ago
Andy Wilkinson aca47ab67e Allow FaviconConfiguration to be disabled
Setting spring.favicon.enabled to false will now disable the
/**/favicon.ico handler mapping.

Closes gh-2377
10 years ago
Andy Wilkinson d718a80316 Make it easier to use Gson and the Actuator at the same time
Previously the recommendation when a user wanted to use Gson was to
exclude Jackson from the classpath and add Gson. This worked fine until
the user also want to use the Actuator which requires Jackson. To get
over this hurdle the user could leave Jackson on the classpath and
perform their own HttpMessageConverter configuration and register a
GsonHttpMessageConverter instead of or before any Jackson-based
converter. A little complicated, but it worked.

This commit makes things easier by updating the auto-configuration for
HTTP message converters to prefer Gson when both Gson and Jackson are
on the classpath, i.e. in the presence of both, a
GsonHttpMessageConverter will be auto-configured and a
MappingJackson2HttpMessageConverter won’t be. This allows an
application to easily use Gson while allowing the Actuator to continue
to use Jackson.

Closes gh-2247
10 years ago
Andy Wilkinson 68c7c65d52 Configure SnakeYAML so the timestamp-like strings do not become Dates
By default, SnakeYAML will convert a timestamp-like string into a
java.util.Date. This differs to properties file-based configuration
where the values are always strings. Dates are problematic as the
round trip (string -> Date -> string) can change the value. For example,
“2015-01-27” becomes “Tue Jan 27 00:00:00 GMT 2015”.

This commit updates YamlPropertySourceLoader to use a Yaml with a
custom Resolver subclass that suppresses the addition of the implicit
resolver for timestamps. Supressing the addition of the unwanted
resolver, rather than overriding addImplicitResolvers and registering
the resolvers that we do want, ensures that we get all of the other
default Resolvers in their default order.

Fixes gh-2422
10 years ago
Andy Wilkinson 54e90c03fc Polish the javadoc in spring-boot-cli
Add missing @param and @return elements
10 years ago
Andy Wilkinson 17f05467bc Document IDEA’s quirky classpath ordering and its effect on templates
Closes gh-2319
10 years ago
Phillip Webb 8e398dc6a7 Polish Javadoc
Update Javadoc to add missing @return and @param elements.
10 years ago
Andy Wilkinson e489ab9b29 Update docs to clarify ordering for profile-specific properties
Closes gh-2404
10 years ago
Andy Wilkinson a88f27168a Add support to the Gradle plugin for disabling direct use of resources
The Maven plugin allows spring-boot:run to be configured so that
resources are loaded from their output location rather than from
src/main/resources. This commit adds an equivalent configuration
option to the Gradle plugin. To disable source resources from being
added to the classpath in place of those in the output location
the configure the bootRun tasks like this:

bootRun {
	addResources = false
}

Closes gh-2431
10 years ago
Phillip Webb c02b99b257 Rename CodahaleMetricWriter
Deprecate CodahaleMetricWriter and create DropwizardMetricWriter to
reflect the renamed project.

Fixes gh-2442
10 years ago
Phillip Webb e1a80fa496 Fix broken reference documentation link 10 years ago
Phillip Webb 3d9cf06c31 Log OnBeanCondition.addDeducedBeanType errors
Update addDeducedBeanType.addDeducedBeanType to log any exceptions at
debug level.

Fixes gh-2436
10 years ago
Phillip Webb 0696695e16 Add package javadoc 10 years ago
Phillip Webb ccdbfd274f Fix Java 8 Javadoc compatibility
Update Javadocs to fix errors caused by Java 8 aggressive linting.

Fixes gh-2233
10 years ago
Andy Wilkinson 93d533dfa6 Document auto-configuration support for Spring HATEOAS
Closes gh-2426
10 years ago
Stephane Nicoll dfdb801533 Fix use of deprecated API. 10 years ago
Phillip Webb 4b9cb6afee Revert "Disable javadoc linting when building with JDK 8+"
This reverts commit 78432fc745.
10 years ago
Phillip Webb 072f873f34 Polish 10 years ago
Phillip Webb 3328c1369f Merge branch '1.1.x'
Conflicts:
	spring-boot/src/main/java/org/springframework/boot/logging/LoggingApplicationListener.java
10 years ago
Phillip Webb 555827cad7 Polish 10 years ago
Stephane Nicoll 763a735bd5 Merge branch '1.1.x'
Conflicts:
	spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointMBeanExportProperties.java
	spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java
10 years ago
Stephane Nicoll d64cc082db Harmonize property name
The property default format is lower case using hyphen. The JMX default
domain property has been harmonized to that format.

Fixes gh-2427
10 years ago
Andy Wilkinson c9186c45a2 Merge branch '1.1.x' 10 years ago
Andy Wilkinson c346e996ed Ignore temporary .writing files when finding output files
Spring Integration's FileWritingMessageHandler uses a .writing file
while it's in the process of writing a message to disk and then
performs a rename (depending on the OS and filesystem this may or may
not be atommic) to create the .msg file. Prior to this commit the
test was finding the temporary .writing files and examining them. This
could lead to a FileNotFoundException being thrown as the temporary
file was deleted while the test was trying to read its contents.

This commit updates the test to only look for files with a .msg suffix

Fixes gh-2428
10 years ago
Andy Wilkinson c37633d867 Merge branch '1.1.x' 10 years ago
Andy Wilkinson c3020e9eff Add a single how to for creating a deployable war file
This commit updates the documentation to describe the three steps
involved in producing a deployable war file in a single place.

Closes gh-2185
10 years ago
Andy Wilkinson c60fab92ce Upgrade to Spring Data Evans SR2
Closes gh-2424
10 years ago
Andy Wilkinson 0cb92b452d Merge branch '1.1.x' 10 years ago
Andy Wilkinson b2a059a385 Upgrade to Spring Data Dijkstra SR5
Closes gh-2423
10 years ago
Andy Wilkinson afe3bc0938 Merge branch 'gh-2313' 10 years ago
Andy Wilkinson 23c175f674 Polish metadata annotation processor’s incremental build support
The main change in this commit is to introduce a new BuildHandler
abstraction. A BuildHandler is responsible for producing the metadata
for a build. Two implementations are provided; one for standard builds
and one for incremental builds. This change means that the annotation
processor is no longer concerned with the two different build types
and can use the same logic in each case.

The code for reading and writing metadata files has also been moved
out into a separate class, MetadataStore, to allow it to be easily
utilised from multiple places.

Closes gh-2313
10 years ago
Kris De Volder 8df43a8a79 Update the metadata annotation processor to support incremental builds
This commit udpdates the metadata annotation processor so that change
data from an incremental build is merged with the metadata from the
previous build.

Closes gh-2321
10 years ago
Stephane Nicoll ccb2828945 Narrow down the target type of logging.level
While `logging.level` is managed in a dedicated way in
`LoggingApplicationListener`, the value of the map are String values
representing the level to apply. The meta-data now exposes that type
instead of raw `java.lang.Object`

Closes gh-2388
10 years ago