Commit Graph

2366 Commits (ad616ea4a77fe1f39c4e2f7e63fcda17688bb85b)

Author SHA1 Message Date
Johnny Lim e12b4a944f Polish 8 years ago
Phillip Webb 8f7efbe12a Polish `spring.redis.url` support
See gh-7395
8 years ago
Marco Aust 90eb58252e Add support for `spring.redis.url` property
Update `RedisAutoConfiguration` to optionally configure Redis using a
`spring.redis.url` property`.

Closes gh-7395
8 years ago
Phillip Webb 38f7389eab Polish loggers 8 years ago
Phillip Webb 1f7b3cad45 Polish Kafka properties
Closes gh-7672
8 years ago
Gary Russell bdda470305 Support arbitrary Kafka properties
Add support for arbitrary Kafka properties via
`spring.kafka.properties.*` and also a `spring.kafka.max.poll.records`
property.

See gh-7672
8 years ago
Phillip Webb 99e72664d9 Polish spring transaction manager properties
Polish and update contribution so that TransactionManager properties can
be defined per technology, rather than globally.

Closes gh-7561
8 years ago
Kazuki Shimizu 80eee6b30f Support spring transaction manager properties
Add Spring TransactionManager properties to allow timeout and rollback
settings to be configured.

See gh-7561
8 years ago
Phillip Webb 3f4c32fcdd Polish 8 years ago
Dave Syer 6ccd858fc0 Fix checkstyle violations 8 years ago
Dave Syer 77a1a3b3c0 Allow user to signal that OAuth2 client is using client_credentials
By configuring security.oauth2.client.grantType=client_credentials the
user signals that (even in a web application) he doesn't want to use
the auth code grant (and hence session and request scoped beans for
client context).
8 years ago
Stephane Nicoll 851ce2286f Allow to override Couchbase's CustomConversions
Closes gh-7700
8 years ago
Phillip Webb 6121208cbb Polish formatting 8 years ago
Phillip Webb 4b9cba351b Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb bd74c3d327 Polish formatting 8 years ago
Stephane Nicoll 9104ea81e8 Expose Validator bean
This commit improves ValidationAutoConfiguration so that a `Validator`
bean is exposed if JSR 303 is available. This has the side effect of
automatically enable Spring Data Couchbase's entity validation rather
than requiring to expose a `Validator` bean.

Closes gh-5178
8 years ago
Andy Wilkinson cedac27c80 Require Bean Validation 1.1 to enable validation auto-configuration
Previously, ValidationAutoConfiguration would configure a
MethodValidationPostProcessor if any Bean Validation 1.0 or later
implementation was available, however the underlying infrastructure
requires Bean Validation 1.1 with any implementation or
Bean Validation 1.0 with Hibernate Validator 4.3.

This caused a problem on TomEE which uses Apache BVal, and Bean
Validation 1.0 implementation. Spring Framework would identify that
Bean Validaton 1.0 was being used and then try to load Hibernate
Validator classes that are not present.

This commit fixes the problem by requiring Bean Validation 1.1 before
auto-configuring a MethodValidationPostProcessor.

Closes gh-7665
8 years ago
Stephane Nicoll d8d5950e99 Enable validation in `AutoConfigureWebMvc`
Closes gh-7582
8 years ago
Andy Wilkinson 149f19cd58 Register any EventListener beans with auto-configured SessionFactory
Closes gh-7531
8 years ago
Stephane Nicoll b80ad2a212 Harmonize Caffeine CacheManager bean name
Closes gh-6980
8 years ago
Madhura Bhave 95be208f0f Use IgnoredRequestCustomizer to ignore paths
Update `SpringBootWebSecurityConfiguration` to ignore requests by
delegating to `IgnoredRequestCustomizer` beans. This allows a single
Spring Boot `WebSecurityConfigurer<WebSecurity>` bean to be used which
prevents potential exceptions caused by duplicate `@Order` values.

Fixes gh-7106
8 years ago
Phillip Webb f6b0652369 Merge branch '1.4.x' into 1.5.x 8 years ago
Madhura Bhave 64da63aa96 Use empty message for Non-Spring Boot Condition
Update `AbstractNestedCondition` to use an empty message for non
Spring Boot nested conditions.

Fixes gh-7519
Closes gh-7529
8 years ago
Phillip Webb e430583eaf Polish 8 years ago
Andy Wilkinson 967625db1e Replace field injection with constructor injection in config classes
Closes gh-7563
8 years ago
Andy Wilkinson 5ac75c949c Increate timeout in Kafka tests as Windows CI agents are very slow 8 years ago
Andy Wilkinson 1464425d64 Remove use of @Component from classes that are not scanned
Closes gh-7549
8 years ago
Andy Wilkinson b60150b05e Make Tomcat Access Log's buffering configurable via the environment
Closes gh-7456
8 years ago
Stephane Nicoll ee72e788ed Rename `spring-boot-junit-runners` to `spring-boot-test-support`
Closes gh-7421
8 years ago
Andy Wilkinson fdccd8aaa7 Remove use of field injection from ErrorMvcAutoConfiguration 8 years ago
Stephane Nicoll cb9e021fa9 Polish 8 years ago
Stephane Nicoll 2c630b5c61 Validate schema and data resources
Previously, if a user specifies a path to a schema or data DDL that does
not exist, the application will start up fine and the missing DDL would
not be reported.

This commit validates that user-defined resources actually exist and
throw a new `ResourceNotFoundException` if they don't.

Closes gh-7088
8 years ago
Mark Paluch 6698cb71c4 Add User-defined type support for Cassandra
Configure `SimpleUserTypeResolver` if a keyspace is set to resolve
User-defined types.

Closes gh-7523
8 years ago
Stephane Nicoll 2f48c50e84 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll e5ca4990d0 Fix bootstrap-hosts property detection with list
Previously, if `spring.couchbase.bootstrap-hosts` was specified in YAML
or with the `[Idx]` notation, the auto-configuration would not kick in.

This is due to a limitation of `@ConditionalOnProperty` on a property of
type Collection. This commit workarounds this limitation for now with a
dedicated condition.

Closes gh-7508
8 years ago
Johnny Lim c654eff41b Update doc for spring.data.neo4j.open-in-view
See gh-7533
8 years ago
Johnny Lim 423f8037ce Polish
Closes gh-7530
8 years ago
Oscar Utbult fabe35fdc4 Remove redundant toString() invocation
Closes gh-7527
8 years ago
Phillip Webb dada7423b0 Polish 8 years ago
Phillip Webb ec73144240 Fix warnings 8 years ago
Phillip Webb 5ed00b3501 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 9fdb563d5a Polish 8 years ago
Phillip Webb 357d072a60 Polish 8 years ago
Andy Wilkinson 2be554456e Introduce SearchStrategy.ANCESTORS as a replacement for .PARENTS
Closes gh-6763
8 years ago
Stephane Nicoll 5d876125de Refine validation auto-configuration
Checking for the presence of a `ValidationProvider` resource is
unfortunately not enough to trigger the validation auto-configuration.

If `hibernate-validator` is added on the classpath without a `javax.el`
implementation, the former will blow up on startup. So far this was a
pilot error so we didn't have to care about it. Now that we have an
auto-configuration that may lead to this error, we need to be extra
careful and check that scenario ourselves.

This commit adds an extra condition that runs as late as possible and
attempt to actually initialize a `Validator`. If that fails for whatever
reason, the auto-configuration will now back off.

Several additional tests have been added to exercise this scenario.

Closes gh-6228
8 years ago
Johnny Lim cabb564804 Add ValidationAutoConfiguration to spring.factories
Closes gh-7494
8 years ago
Stephane Nicoll 0befc310cd Add dedicated settings for maxHttpPostSize
This commit deprecates `server.max-http-post-size` and introduces a
dedicated property for each supported  container. In particular, Undertow
can now define a max size higher than 2GB.

Closes gh-7362
8 years ago
Stephane Nicoll 22208f6a9e Auto-configure validation constraints on bean methods
This commit auto-configures `MethodValidationPostProcessor` if necessary
when a JSR-303 validator implementation is detected on the classpath.

Closes gh-6228
8 years ago
Stephane Nicoll 7e25c0dcdd Fix build 8 years ago
Stephane Nicoll 57605b6749 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 65b6d8f4f7 Handle `NoClassDefFoundError` in `OnBeanCondition`
If `OnBeanCondition` is used with a `String` literal representing the
fully qualified name of a bean and such type does not exist, it
gracefully manages it as if it was not found. Prior to this commit, an
exception would be thrown if any related class such as the parent
class does not exist.

This commit handles this additional case, catching `NoClassDefFoundError`
the same way it did handle `ClassNotFoundException`. That way, a
missing type will now be considered as absent if it's not on the
classpath.

Closes gh-7459
8 years ago
Stephane Nicoll 64a50b60ab Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 5e8ba5cef6 Fix Couchbase condition on Spring Data class
This commit reverts 7e2d0fd so that the Couchbase auto-configuration can
work without Spring Data again. It also removes the `Class` reference to
a Spring Data class to a `String` reference to make sure the condition
operates properly when said class isn't on the classpath.

Closes gh-7453
8 years ago
Stephane Nicoll 64e0899456 Polish customize Cassandra's Cluster
Closes gh-7320
8 years ago
Eddú Meléndez cb3d14a305 Allow to customize Casssandra's Cluster
This commit allows to configure special customizers to be used by
Cluster.

Closes gh-7312
8 years ago
Stephane Nicoll ea023618a4 Polish upgrade to Spring Session 1.3.0.RC1
Closes gh-7457
8 years ago
Vedran Pavic ffec6fddd2 Upgrade Spring Session to 1.3.0.RC1
See gh-7457
8 years ago
Phillip Webb 88c84ce234 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb b6b8bef009 Polish 8 years ago
Phillip Webb 7e2d0fd1c0 Check for Spring Data before configuring Couchbase
Add guard to `CouchbaseAutoConfiguration` so ensure that Spring Data
Couchbase is on the classpath.

Fixes gh-7453
8 years ago
Grigory Fadeev 1ea829e003 Fix connector used to configure connection timeout
Fix Tomcat customization so that the main connection is configured with
any timeout.

Closes gh-7425
8 years ago
Andy Wilkinson 65d0c07fd6 Polish "Validate excluded autoconfiguration classes"
- Apply code formatting
- Move configuration of excepted exception to immediately before line
  that will throw the exception
- Use String.format with %n to produce platform-specific new lines

See gh-7407
8 years ago
Madhura Bhave a9ffdca6f2 Validate excluded autoconfiguration classes
Closes gh-7407
See gh-6865
8 years ago
Andy Wilkinson ff4bbd9291 Fix javadoc and apply code formatting to Kafka contribution
See gh-6961
8 years ago
Andy Wilkinson 29f0ae3fa8 Use a random port in new tests in SpringBootWebSecurityConfigurationTests
See gh-7373
8 years ago
Stephane Nicoll cc07f56c87 Merge pull request #6961 from garyrussell:kafkaAutoConfig
* pr/6961:
  Polish "Apache Kafka support" contribution
  Add Apache Kafka support
8 years ago
Stephane Nicoll 642af52d01 Polish "Apache Kafka support" contribution
Closes gh-6961
8 years ago
Gary Russell c4188c8e4a Add Apache Kafka support
See gh-6961
8 years ago
Andy Wilkinson 5a9fc9aa49 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 3464c0b16e Ensure that Hypermedia-related auto-config works without Jackson
Previously, both HypermediaAutoConfiguration and HttpMessageConverters
assumed that if Spring HATEOAS was on the class path, then Jackson
would be too. When this was not the case, an application would fail
to start.

This commit updates both classes to back off appropriately when
Spring HATEOAS is on the classpath but Jackson is not.

Closes gh-7434
8 years ago
Stephane Nicoll 9423b9831c Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 249ed899a6 Fix use of KB and MB in Multipart documentation
Closes gh-7364
8 years ago
Phillip Webb 1657120286 Move ModifiedClassPathRunner to its own module
Migrate `ModifiedClassPathRunner` from `spring-boot` test source to
its own module.

Fixes gh-7420
8 years ago
Phillip Webb 9e18021e8c Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb fce17ca6d9 Polish 8 years ago
Andy Wilkinson 1cd781b242 Make spring-boot-test compatible with Mockito 2.1 and 2.2
We use some internal Mockito classes and some  breaking API changes
have been made to them in Mockito 2. This commit introduces a utility
class, SpringBootMockUtil, to shield our code from these differences.
Mockito 1 is called directly and Mockito 2 is called via reflection.

To allow these changes to be tested, FilteredClassPathRunner has been
enhanced to also support overriding a dependency on the class path.
As a result it has been renamed to ModifiedClassPathRunner. The new
ClassPathOverrides annotation can be used to provide the Maven
coordinates of one or more dependencies that should be resolved and
added to the class path. Such additions are added to the start of
the class path so that they override any existing dependency that
contains the same classes.

Closes gh-6520
8 years ago
Andy Wilkinson af4ca7cf6e Align Spring Data Neo4j auto-configuration with latest Ingalls snapshots
Closes gh-7391
8 years ago
Stephane Nicoll 2ba3b27954 Merge branch '1.4.x' into 1.5.x
# Conflicts:
#	spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java
#	spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
8 years ago
Stephane Nicoll 0072a93915 Expose Tomcat's accesslog requestAttributesEnabled
This commit adds an extra property to the `server.tomcat.accesslog` to
control the `reqestAttributesEnabled` flag. This flag sets request
attributes for IP address, Hostname, protocol and port used for the
request.

Closes gh-7367
8 years ago
Phillip Webb 238c22cd73 Polish content security policy contribution
See gh-7373
See gh-7373
8 years ago
Christoffer Sawicki d7bbea63b7 Add properties for content security policy
Add `content-security-policy` and `content-security-policy-mode`
`security.header` properties and update auto-configuration to apply
them when specified.

Fixes gh-7373
Closes gh-7357
8 years ago
Johnny Lim 8038882d46 Polish
Closes gh-7403
8 years ago
Andy Wilkinson 387a406aad Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson b3e0a37197 Remove unwanted System.out calls in test code 8 years ago
Spring Buildmaster e712a9ba8c Next Development Version 8 years ago
Stephane Nicoll b51f92d9a4 Merge branch '1.4.x' into 1.5.x 8 years ago
Vedran Pavic 5783cd5593 Fix JWT token URI derivation
Closes gh-7299
8 years ago
Phillip Webb 81c5753f4d Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 90afc8ebbe Formatting 8 years ago
Madhura Bhave 73308ba24b Merge remote-tracking branch 'springsource/1.4.x' into 1.5.x 8 years ago
Madhura Bhave b04a74f01d Fix failure analysis for Collections and Maps
Closes gh-6996
8 years ago
Phillip Webb 5b66ffbb4b Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb f4328b41af Polish 8 years ago
Phillip Webb 1b17677e0b Polish TLD skip pattern support
See gh-5010
8 years ago
Phillip Webb dbf6d3d418 Don't detect persistenceUnitRootLocation
Update JpaBaseConfiguration so that the persistenceUnitRootLocation is
no longer detected. The update to gh-7003 means that we can now rely on
the standard detection mechanism.

Fixes gh-6983
See gh-6635
8 years ago
Stephane Nicoll 9100897dcb Automatically exclude auto-configurations from component scan
Previously, if an auto-configuration class was (wrongly) located in a
candidate package for component scanning, the class was silently loaded
as an app configuration (i.e. with the wrong lifecycle).

This commit adds an `AutoConfigurationExcludeFilter` to
`@SpringBootApplication` so that such classes are automatically
filtered. Since they are registered in `spring.factories`, we can
silently ignore them since we know they'll be loaded later on.

Closes gh-7168
8 years ago
Stephane Nicoll 4f06e52d7e Allow adding additional tld skip patterns
This commit improves `TomcatEmbeddedServletContainerFactory` so that tld
skip patterns can be set or added to an existing set. An additional
`server.tomcat.additional-tld-skip-patterns` is now being exposed to
easily add patterns via configuration.

Closes gh-5010
8 years ago
Stephane Nicoll 94da9ad6e6 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 1a6ab90255 Polish test 8 years ago
Stephane Nicoll ed7de8eb60 Polish contribution
Also add rotate attribute to Undertow

Closes gh-7225
8 years ago
Matthieu Mouminoux 1d95219c4b Allow to configure Tomcat's rotatable property
See gh-7225
8 years ago
Stephane Nicoll ae4dd0d17e Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll a638dcd51b Remove unnecessary use of System.out.println 8 years ago
Andy Wilkinson a416f496c0 Clean up deprecation and unused code warnings 8 years ago
Andy Wilkinson 29d4a01b30 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 7968c6b548 Assign on order to OnPropertyCondition
Closes gh-7144
8 years ago
Andy Wilkinson cc04621dc2 Assign an order to OnResourceCondition
Closes gh-7145
8 years ago
Madhura Bhave 90722a9bca Add @ConditionalOnCloudPlatform
Add a @ConditionalOnCloudPlatform annotation that matches based on the
active ClouldPlatform.

Fixes gh-7155
8 years ago
Phillip Webb d818a09ed8 Polish 8 years ago
Phillip Webb d3e06c4627 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb db3f488d5a Polish 8 years ago
Stephane Nicoll 6fb53f90e5 Polish contribution
Closes gh-6666
8 years ago
Maciej Walkowiak 47ec8630c8 Add Rabbit idleEventInterval property
This commit adds a property to configure how often idle container events
should be published.

See gh-6666
8 years ago
Andy Wilkinson f0b235cbc5 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 0333416952 Update WelcomePageHandlerMapping to handle reqs with no Accept header
Closes gh-7138
8 years ago
Stephane Nicoll ab2a2579c8 Polish contribution
Closes gh-6571
8 years ago
Aurélien Leboulanger 7efdb91641 Manage Tomcat queued connections
Adding two tomcat server properties:
- server.tomcat.accept-count
- server.tomcat.max-connections

Closes gh-6433
8 years ago
Stephane Nicoll 3e1425ebed Polish contribution
Closes gh-6543
8 years ago
Vedran Pavic 286a928347 Improve database initializers
This commit improves database initializers for Spring Batch and Spring
Session by introducing `AbstractDatabaseInitializer` which eliminates
duplicated logic in existing initializers. Additionally, database
platform resolution now relies on `DatabaseDriver`.

See gh-6543
8 years ago
Stephane Nicoll ed333a67b4 Expose Spring Data Rest RepositoryDetectionStrategy
Closes gh-7113
8 years ago
Stephane Nicoll 02b0e3955c Merge branch '1.4.x' into 1.5.x 8 years ago
Johnny Lim 1c4c0c6119 Fix String.format() usages
Closes gh-7120
8 years ago
Andy Wilkinson 9b8f33df6d Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 20a2db79bd Separate conditions that did and did not match in auto-config report
Closes gh-7098
8 years ago
Stephane Nicoll f82e91df39 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 03961e6692 Polish contribution
Closes gh-7004
8 years ago
Rob Fletcher 7fcb197092 Allow configuration to specify randomly generated database name
See gh-7004
8 years ago
Stephane Nicoll 200e246238 Merge branch '1.4.x' into 1.5.x 8 years ago
Johnny Lim 91254f2110 Remove unused parameters in String.format()
Closes gh-7111
8 years ago
Stephane Nicoll cf28663cd7 Deprecate commons-dbcp 1
Closes gh-6787
8 years ago
Stephane Nicoll 07690bab25 Allow customization of the auto-configured JmsTemplate
Closes gh-6825
8 years ago
Phillip Webb a2315378d4 Formatting 8 years ago
Phillip Webb f2b0fa284e Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 3326841a97 Formatting 8 years ago
Phillip Webb 39ed0d4dfb Polish 8 years ago
Stephane Nicoll 8ad477537e Fail fast if both uri and client attributes are set
Previously, an URI and individual client attributes can be set to
configure the mongo client. In such a scenario, the URI is ignored.

This commit changes the URI to be "null" and the creation of the client
to fail if both the uri and client attributes are set. If no client
attributes are set, the uri is used as before.

Closes gh-6739
8 years ago
Stephane Nicoll e643fc5bd1 Merge branch '1.4.x' into 1.5.x 8 years ago
Johnny Lim 503d735fdd Polish
Closes gh-7081
8 years ago
Stephane Nicoll 7ffa499949 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll e56119165e Close JestClient on shutdown
Closes gh-7051
8 years ago
Stephane Nicoll 8ed20068ca Fix list property to be mutable
Closes gh-7045
8 years ago
Andy Wilkinson 2a035d0748 Remove support for Velocity following its deprecation in 1.4
Closes gh-6971
8 years ago
Andy Wilkinson 464915d2cc Remove support for HornetQ following its deprecation in 1.4
See gh-6971
8 years ago
Andy Wilkinson 0232e3b16c Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson d08c84af42 Ensure that JtaAutoConfiguration runs before ArtemisAutoConfiguration
Closes gh-7062
8 years ago
Andy Wilkinson b4d052a7b3 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 33ea73996e Make auto-config for Narayana back off when Transaction SPI not on classpath
Closes gh-7061
8 years ago
Vedran Pavic c4aa78679a Upgrade Hazelcast to 3.7.1
In addition, dependency management for `hazelcast-hibernate5` module has
been added, and a separate dependency version was introduced for
`hazelcast-hibernate4` module.

Closes gh-7023
8 years ago
Stephane Nicoll cdd59707fc Merge branch '1.4.x' into 1.5.x 8 years ago
Johnny Lim 30a677646f Polish
Closes gh-7030
8 years ago
Vedran Pavic f485660482 Upgrade Spring Session to 1.3.0.M2
Closes gh-6979
8 years ago
Stephane Nicoll 7dfa3a8c83 Harmonize Caffeine CacheManager bean name
Closes gh-6980
8 years ago
Andy Wilkinson aaf435ff2a Suppress Neo4J-related deprecation warnings
See gh-6976
8 years ago
Andy Wilkinson c108da9d53 Upgrade to Spring Data Ingalls M1
Closes gh-6785
Closes gh-5835
8 years ago
Stephane Nicoll bd7c20eb1c Deprecate Guava support 8 years ago
Stephane Nicoll ce1e41dce3 Remove deprecated code
This code removes code deprecated in 1.4 with the exception of code that
requires an update to Spring Framework 5.

Closes gh-6971
8 years ago
Stephane Nicoll 6bd670edbc Initiate 1.4.x branch 8 years ago
Spring Buildmaster 7e9ed5e1a7 Next Development Version 8 years ago
Phillip Webb 51092af739 Polish 8 years ago
Eddú Meléndez bc55b6e0d4 Add contextPath LocalHostUriTemplateHandler URIs
Update `LocalHostUriTemplateHandler` so that the `server.context-path`
property is also considered when building the URL.

Fixes gh-6904
Closes gh-6919
8 years ago
Phillip Webb 0eab3e0c5a Drop printed link to reference documentation
Tweak the fix from 50c68a49 to no longer print a link the reference
documentation.

See gh-6593
8 years ago
Phillip Webb 825dd0a26c Merge branch '1.3.x' 8 years ago
Phillip Webb b97e0bd471 Allow HttpPutFormContentFilter to be disabled
Add `spring.mvc.formcontent.putfilter.enabled` property to allow the
HttpPutFormContentFilter to be disabled.

Fixes gh-6519
8 years ago
Phillip Webb a2e4127d4f Fix multi-annotation nested condition logic
Update `AbstractNestedCondition` to correctly group nested conditions
on members.

Fixes gh-6672
8 years ago
Stephane Nicoll 50c68a497b Improve startup error message
This commit improves the startup error message so that it does not
reference  `--debug` anymore. Such command-line switch only works when
the application is started using `java -jar`.

The error message now refers directly to a section of the documentation
that provides more details and links to more useful examples.

Closes gh-6593
8 years ago
Stephane Nicoll 78bb04f2c1 Polish 8 years ago
Stephane Nicoll 284988f0cd Clarify SpringBootWebSecurityConfiguration scope
This commit fixes the documentation that wrongly states that
SpringBootWebSecurityConfiguration is an auto-configuration. Rather than
excluding this class, we should exclude SecurityAutoConfiguration that
imports it.

Closes gh-6861
8 years ago
Oliver Gierke 0860ad4fd4 Use default simple types with MongoMappingContext
Change the auto-configure MongoMappingContext to use the
SimpleTypesHolder instance `Set` that's produced by a CustomConversions
bean, which we in turn now default, too.

This update is necessary as `CustomConversions` registers converters by
inspecting the classpath (to automatically detect Java 8, JodaTime etc.)
and by that rendering the types for which we find converters for as
simple ones, i.e. non-entities.

Fixes gh-6881
Closes gh-6882
8 years ago
Phillip Webb dcfe2673fd Fix failing test following Tomcat upgrade
Tomcat 8.5.5 has change the default value of `validationInterval` to
3000. See https://bz.apache.org/bugzilla/show_bug.cgi?id=59923 for
details.

See gh-6703
See gh-6657
8 years ago
Johnny Lim caa4c0800f Polish
Closes gh-6872
8 years ago
Phillip Webb c56f30fd91 Formatting 8 years ago
Stephane Nicoll ee668e6782 Polish contribution
Closes gh-6651
8 years ago
Vedran Pavic 06a1f44128 Validate Spring Batch database initializer configuration
This commit adds Spring Batch configuration validation that disables
database initializer in case custom table prefix is configured with
default schema.

See gh-6651
8 years ago
Stephane Nicoll def40bf27f Polish 8 years ago
Stephane Nicoll a347a780e7 Polish contribution
Closes gh-6649
8 years ago
Vedran Pavic 9141177f1a Validate Spring Session database initializer configuration
This commit adds Spring Session JDBC configuration validation that
disables database initializer in case custom table name is configured
with default schema.

See gh-6649
8 years ago
Phillip Webb 56544c8dd5 Polish 8 years ago
Brian Clozel 274734e787 Add `spring.thymeleaf.check-template` property
This commit adds a new `spring.thymeleaf.check-template` property which
is only used for Thymeleaf 3.0+.

Since thymeleaf/thymeleaf#419, the Thymeleaf template resolver
implementations can implement the `setCheckExistence` method - this
enables the template existence verification at **resolution** time,
which means the resolver can return null as a `TemplateResolution`
and let other template resolvers in the chain try.

This new property is set to `true` by default and can be disabled if the
application only has a single resolver and the template existence check
is considered as a performance penalty with the configured resolver.

Fixes gh-6500
8 years ago
making 8a5c026a9d Add spring.http.multipart.resolve-lazily
This commit adds the `spring.http.multipart.resolve-lazily`
property, in order to configure whether the multipart request
should be resolved lazily, as the parameters are accessed.
8 years ago
Stephane Nicoll b450fece2e Add NoSuchBeanDefinitionException failure analyzer
Add a `FailureAnalyzer` that handles the case where the context does
not start because no candidate bean was found for an `InjectionPoint`.

The implementation inspects the auto-configuration report for beans
that are candidate and output the condition(s) that lead to such beans
to be discarded on startup. If a whole auto-configuration class is
disabled (or excluded), its beans are inspected and candidates are
extracted in a similar way.

This works for both injection by type and by name.

Closes gh-6612
8 years ago
Phillip Webb 7396ccfe04 Harmonize ConditionOutcome messages
Add ConditionMessage class to help build condition messages in a
uniform format and update existing conditions to use it.

Fixes gh-6756
8 years ago
Johnny Lim 4b9f6869f0 Polish
Closes gh-6817
8 years ago
Andy Wilkinson 2e1988f97e Rework welcome page so that it only handles reqs that accept text/html
Closes gh-6668
8 years ago
Andy Wilkinson 3814e509a3 Polish @deprecated javadoc and link to replacements where available
Closes gh-6765
8 years ago
Andy Wilkinson d720645275 Polishing
Fix mistake introduced during forward merge
8 years ago
Phillip Webb 2a22a7af12 Remove ApplicationInfo
Rework commit 4a69755b to remove the need for the ApplicationInfo class.
The updated code now uses the auto-configuration class to compute a
default persistence unit root location

Closes gh-6635
8 years ago
Andy Wilkinson b488a3d9a3 Merge branch '1.3.x' 8 years ago
Andy Wilkinson 63b8e82c10 Update OnBeanCondition to consider hierarchy for PARENTS search strategy
Closes gh-6762
8 years ago
Phillip Webb 565ad79856 Polish 8 years ago
Phillip Webb 850141c405 Merge branch '1.3.x' 8 years ago
Phillip Webb 69e96c6211 Polish 8 years ago
Andy Wilkinson 55f6fb94ef Merge branch '1.3.x' 8 years ago
Andy Wilkinson a5c6b0954d Consider ancestors when finding primary beans for ConditionalOnSingleCandidate
Closes gh-6559
8 years ago
Andy Wilkinson 6df279d3a1 Merge branch '1.3.x' 8 years ago
Andy Wilkinson 75c1e50c5a Improve type determination for factory beans during condition evaluation
Previously, BeanTypeRegistry did not correctly determine the type
that would be created by a factory bean if that factory bean was
returned from a bean method with arguments on a configuration class
found via component scanning.

The key difference is that bean definitions for bean methods on
configuration classes found via component scanning use ASM-based
metadata rather than reflection-based metadata. The ASM-based method
data does not provide direct access to the Method that will create the
bean. In this case, BeanTypeRegistry was falling back to looking for
a method with the matching name and no arguments. Therefore, if
the bean method had any arguments it would fail to find the method
and would, therefore, be unable to determine the type of bean
produced by the factory bean.

This commit updates BeanTypeRegistry to use logic that is very similar
to Spring Framework's ConstructorResolver's
resolveFactoryMethodIfPossible method to locate the method that will
produce the factory bean. It looks for a single method with
the required name with any number of arguments. If it finds multiple
methods with the required name and different arguments it returns
null, just as ConstructorResolver does.

Closes gh-6755
8 years ago
Stephane Nicoll 47c568a24d Polish contribution
Closes gh-6746
8 years ago
Caleb Cushing bb7b789cd9 Detect Neo4j bolt driver
Closes gh-6690
8 years ago
Stephane Nicoll b9104c9337 Restore support for empty persistence unit with fat jars
Due to the layout format change in 1.4, Spring Framework is no longer
able to compute a default persistence unit root URL. If a Spring Boot 1.4
application has JPA but does not have any entity, the application started
from a fat jar now fails with a quite cryptic exception.

This commit introduces `ApplicationInfo` as a general replacement for
the `ApplicationArguments` and `Banner` singleton beans that
`SpringApplication` registers on startup. `ApplicationInfo` also defines
the detected "main" `Class` that can be used to compute a last resort
URL that makes sense.

If such bean is available, `EntityManagerFactoryBuilder` now sets the
default persistence unit root location, preventing Spring Framework to
attempt to resolve an unknown location. Note that in our case the
persistence unit root location is actually useless: given the way the
persistence unit is created, nothing actually uses it but Hibernate, as a
compliant JPA provider, has to make sure this setting is set to a valid
URL nevertheless.

Closes gh-6635
8 years ago
Stephane Nicoll 86757efcdf Add FailureAnalyzer for Hikari
Hikari can configure both an underlying Driver or DataSource. Spring Boot
only supports the former so any attempt to trigger the creation of the
latter will lead to an exception since the auto-configuration has set
driver-specific field.

This commit adds an analyzer that intercepts such faulty scenario and
indicate that users should configure Hikari with an underlying DataSource
themselves.

Closes gh-6568
8 years ago
Johnny Lim 524edaea51 Polish
Closes gh-6728
8 years ago
Stephane Nicoll 6c1b46e162 Mark auto-configured `JdbcTemplate` as primary
This commit marks the auto-configured `JdbcTemplate` as `Primary`. Spring
session creates its own so we could end up with two in a fully auto
configured context.

Closes gh-6717
8 years ago
Andy Wilkinson e465368f54 Ensure that access log is flushed periodically
Previously, Tomcat’s background processing was only enabled on the
context but access logging was configured on the engine. This means that
the access log valve’s background processing method was never called
and, therefore, that it wasn’t flushed periodically.

This commit moves the enablement of background processing up to the
engine, thereby ensuring that the access log is flushed periodically.
Background processing cascades down the container hierarchy so, after
this change, background processing will still be performed on the
context as well.

Closes gh-6646
8 years ago
Andy Wilkinson 1dc231f771 Use Hamcrest's containsString matcher rather than Mockito's 8 years ago
Andy Wilkinson d4c9a2b271 Merge branch '1.3.x' 8 years ago
Andy Wilkinson ba51dc5c4a Make configuration of Liquibase’s logging more robust
We make Liquibase aware of our custom Commons Logging-based logger by
adding its package to the Liquibase ServiceLocator’s packages to scan.
Previously, this was happening too late so Liquibase may have already
initialized and cached a particular logger.

This commit moves the registration of the extra package from the
Liquibase auto-configuration to the application listener that customises
Liquibase’s ServiceLocator. This ensures that the package is added
before Liquibase is used. Unfortunately, configuring Liquibase’s
ServiceLocator and its packages to scan causes it to try to perform
some logging, resulting in it caching the wrong type of logger. We
work around this problem by resetting Liquibase’s LogFactory once we’ve
finished setting everything up.

Closes gh-6713
8 years ago
Stephane Nicoll c9a3880f27 Remove hard-coded property values
As of Spring Boot 1.4, IDEs are supposed to provide auto-completion for
hints and enum values. This commit removes the hard-coded copy of
allowed values for enum-based properties. This was mostly the case
already and this commit fixes the few ones remaining.

Closes gh-6654
8 years ago
Stephane Nicoll 54a3ce8827 Restore support for spring.datasource.type
This commit restores the support of "spring.datasource.type". If this
property is set to an unsupported `DataSource` implementation, we now
properly create it again, rather than ignoring it because its value did
not match any value we support.

Since Spring Boot 1.4 now redirects `DataSource` implementation settings
to dedicated namespaces, the documentation has been updated to explicitly
mention how one can create such arrangement for an unsupported
implementation.

As a convenience, `DataSourceProperties` can initialize a
`DataSourceBuilder` based on its internal state, making it very easy for
anyone to create a `DataSource` from a `DataSourceProperties` instance.

Closes gh-6695
8 years ago
Stephane Nicoll a6ef3741ef Configure Undertow's access log prefix and suffix
This commit adds two properties that can be used to customize the prefix
and suffix of the Undertow's access log.

Closes gh-6652
8 years ago
Johnny Lim 37c8c3669b Polish
Closes gh-6671
8 years ago
Stephane Nicoll 919d6b4b2e Avoid extending from RepositoryRestMvcConfiguration
This commit moves Spring Boot's customizations for Spring Data Rest to
the existing SpringBootRepositoryRestConfigurer.

Closes gh-6581
8 years ago
Stephane Nicoll 79b0d14504 Fix wrong use of slf4j
Closes gh-6650
8 years ago
Andy Wilkinson c542d87c61 Verify that @FlywayDataSource is preferred over any "normal" DataSource 8 years ago
Andy Wilkinson 7c54c3ff21 Ensure that @LiquibaseDataSource is preferred to “normal” DataSource
Closes gh-6604
8 years ago
Eddú Meléndez 8424965a10 Allow a DataSource to be marked as being specifically for Liquibase
This commit allows to configure a special DataSource to be used by
Liquibase by annotating it with @LiquibaseDataSource.

Closes gh-6614
8 years ago
Andy Wilkinson ec9549f01f Downgrade to Jackson 2.7.6 and verify Elasticsearch’s compatibility
Closes gh-6508
8 years ago
Stephane Nicoll 80a1897ccb Remove useless postgresql alias
See gh-6534
8 years ago
Stephane Nicoll 90c67daec1 Polish contribution
Closes gh-6534
8 years ago
Vedran Pavic b5e2bff1a4 Fix aliases for database names in `JdbcSessionDatabaseInitializer`
See gh-6354
8 years ago
Stephane Nicoll 3f14bdc01d Add missing type condition on JdbcTemplateAutoConfiguration
Closes gh-6499
8 years ago
Spring Buildmaster 334baaeffd Next development version 8 years ago
Spring Buildmaster a89ef5df6e Next Development Version 8 years ago
Johnny Lim 9627d0ed66 Polish
Closes gh-6487
8 years ago
Phillip Webb 162b9e84a3 Polish 8 years ago
Brian Clozel a282710fc9 Add Locale to Charset Mapping for Servlet containers
This commit adds a new configuration key:

    spring.http.encoding.mapping.<locale>=<charset>

This allows to specify which default charset should be used for any
given Locale, if none has been provided already in the response itself.
This applies to all supported embedded servlet containers.

Fixes gh-6453
8 years ago
Kazuki Shimizu 5ecb68b226 Add JdbcTemplate only on single DataSource
Update auto-configuration logic so that a `JdbcTemplate`
is only added when there is a single candidate DataSource bean.

Closes gh-6449
8 years ago
Kazuki Shimizu e0adacbeae Add TransactionManager only on single DataSource
Update auto-configuration logic so that a `DataSourceTransactionManager`
is only added when there is a single candidate DataSource bean.

See gh-6449
8 years ago
Andy Wilkinson fbf291ee12 Make RabbitProperties’ parsed address behaviour the same for all properties
Prior to this commit parsing addresses had an inconsistent effect on the
various properties that can be contained in an address (host, port,
username, password, and virtual host).

Three different approaches were used:

1. Return the property if no addresses were set. If there was one
   address set, return the property from the address. Otherwise return
   null. (host)
2. Return the property if no address were set, otherwise return the
   property from the first address (port)
3. Return the property if no addresses were set, otherwise return the
   property from the last address that had such property (username,
   password, virtual host).

This commit aims to make the behaviour consistent. If no addresses
were set the property is returned. Otherwise the value extracted from
the first address is returned. If the first address has no such value
the property is returned.

Closes gh-6424
8 years ago
Phillip Webb 1080b990e8 Revert "Restore DataSourceProperties get...() methods"
This reverts commit 037e697406.

See gh-6406
8 years ago
Stephane Nicoll b86241cae0 Upgrade to Ehcache 3.1.1
Closes gh-6418
8 years ago
Christoffer Sawicki 3a8cf7ac8a Register valves at the engine level
Update `ServerProperties` to register `AccessLogValve` and
`RemoteIpValve` at the engine level.

Closes gh-6311
8 years ago
Phillip Webb e03e109874 Polish 8 years ago
Phillip Webb 037e697406 Restore DataSourceProperties get...() methods
Restore original get method functionality in DataSourceProperties in
a deprecated form.

Fixes gh-6406
8 years ago
Phillip Webb c889c09066 Refactor from deprecated getAliasedStringArray
Update EntityScanPackages to make use of Spring Framework's updated
alias support with ASM reading.

Closes gh-6337
8 years ago
Phillip Webb 68b9792ed6 Fix FixedAuthoritiesExtractor map extract bug
Fix issue where FixedAuthoritiesExtractor would fail to obtain standard
item from the map because an incorrect key was used.

Fixes gh-6396
8 years ago
Andy Wilkinson b8ad9537a6 Merge branch '1.3.x 8 years ago
Andy Wilkinson 68fb5789ca Create one SpringApplicationAdminMXBeanRegistrar per context hierarchy
Previously, one SpringApplicationAdminMXBeanRegistrar was created
per context. When there was more then one context this would result
in a javax.management.InstanceAlreadyExistsException being thrown
as an attempt was made to register the MBean more than once.

This commit updates SpringApplicationAdminJmxAutoConfiguration so
that the registrar is only created when there's no such existing bean
in the context hierarchy.

Closes gh-6378
8 years ago
Stephane Nicoll 6bd7a2fedd Deprecate HornetQ support
Closes gh-6377
8 years ago
Andy Wilkinson db83e89922 Add support for Thymeleaf 3 while keeping Thymeleaf 2 as the default
Closes gh-4393
8 years ago
Johnny Lim a9f6ae4422 Polish
Closes gh-6374
8 years ago
Stephane Nicoll 17b71df2dd Merge branch '1.3.x' 8 years ago
Stephane Nicoll bbb29dd70f Remove `@Primary` from `IntegrationMBeanExporter`
Commit 3ea84f9e1 has wrongly introduced a `@Primary` marker on
`IntegrationMBeanExporter` so any use of both Spring's JMX support
and Spring Integration's JMX support leads to an exception. This commit
makes sure to remove the unnecessary `@Primary`

Closes gh-6328
8 years ago
Stephane Nicoll 0356be7b95 Refine AliasFor usage
This commit makes sure to use `getAliasedStringArray` rather than
`getStringArray` as the latter does not work with ASM. While this will
probably be fixed in the core framework, this commit also adds dedicated
tests with ASM to ensure that the code works as expected.

Closes gh-6337
8 years ago
Phillip Webb f4df9d9767 Use lexical ordered DataSourceInitializer patterns
Align DataSourceInitializer to Spring Framework by lexically sorting
resolved resource patterns.

Fixes gh-6316
8 years ago
Stephane Nicoll 05dad45172 Add proxy configuration for Jest client
Closes gh-6332
8 years ago
Spring Buildmaster 2216369348 Next Development Version 8 years ago
Andy Wilkinson 8cbe30ab5e Ensure that Jersey and Jackson honour JAXB annotations
By default Jersey configures Jackson to use both Jackson annotations
and JAXB annotations when introspective types for (de)serialization.
However, the changes made in 5776d6a8 mean that Jersey no longer uses
its default ObjectMapper configuration and uses the auto-configured
ObjectMapper instead. This had the unwanted side-effect of leaving
Jersey with an ObjectMapper that only uses Jackson annotations and
ignores JAXB annotations.

This commit updates JerseyAutoConfiguration so that it will add the
JaxbAnnotationIntrospector to the auto-configured ObjectMapper for
both serialization and deserialization. It uses
AnnotationIntrospectorPair to ensure retain any existing
introspectors.

Closes gh-6310
8 years ago
Andy Wilkinson 4697432edd Upgrade to Artemis 1.3.0
Closes gh-6282
9 years ago
Phillip Webb ebdacfabc3 Polish 9 years ago
Stephane Nicoll 2fea5a869d Polish "Add Spring Session JDBC database initializer"
Closes gh-5879
9 years ago
Vedran Pavic a251ea8bc7 Add Spring Session JDBC database initializer
See gh-5879
9 years ago