Commit Graph

2094 Commits

Author SHA1 Message Date
Stephane Nicoll e643fc5bd1 Merge branch '1.4.x' into 1.5.x 2016-10-02 11:08:33 +02:00
Johnny Lim 503d735fdd Polish
Closes gh-7081
2016-10-02 11:07:04 +02:00
Stephane Nicoll 8f96278ce9 Merge branch '1.5.x' 2016-09-30 10:53:03 +02:00
Stephane Nicoll 7ffa499949 Merge branch '1.4.x' into 1.5.x 2016-09-30 10:52:44 +02:00
Stephane Nicoll e56119165e Close JestClient on shutdown
Closes gh-7051
2016-09-30 10:51:48 +02:00
Stephane Nicoll 8ed20068ca Fix list property to be mutable
Closes gh-7045
2016-09-30 10:34:25 +02:00
Andy Wilkinson f82dc8e043 Upgrade to JMS API 2.0
Closes gh-7049
2016-09-29 20:33:21 +01:00
Andy Wilkinson 241ab10160 Merge branch '1.5.x' 2016-09-29 15:49:04 +01:00
Andy Wilkinson 2a035d0748 Remove support for Velocity following its deprecation in 1.4
Closes gh-6971
2016-09-29 15:44:36 +01:00
Andy Wilkinson 464915d2cc Remove support for HornetQ following its deprecation in 1.4
See gh-6971
2016-09-29 15:44:36 +01:00
Andy Wilkinson ae7faa233a Merge branch '1.5.x' 2016-09-29 15:09:14 +01:00
Andy Wilkinson 0232e3b16c Merge branch '1.4.x' into 1.5.x 2016-09-29 15:09:08 +01:00
Andy Wilkinson d08c84af42 Ensure that JtaAutoConfiguration runs before ArtemisAutoConfiguration
Closes gh-7062
2016-09-29 15:08:24 +01:00
Andy Wilkinson 0e018c6037 Merge branch '1.5.x' 2016-09-29 15:02:02 +01:00
Andy Wilkinson b4d052a7b3 Merge branch '1.4.x' into 1.5.x 2016-09-29 15:01:54 +01:00
Andy Wilkinson 33ea73996e Make auto-config for Narayana back off when Transaction SPI not on classpath
Closes gh-7061
2016-09-29 14:56:05 +01:00
Stephane Nicoll 8b6d7eedc0 Merge branch '1.5.x' 2016-09-29 10:38:42 +02:00
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
2016-09-29 10:37:29 +02:00
Stephane Nicoll 49a606fa91 Merge branch '1.5.x' 2016-09-28 17:00:56 +02:00
Stephane Nicoll cdd59707fc Merge branch '1.4.x' into 1.5.x 2016-09-28 17:00:30 +02:00
Johnny Lim 30a677646f Polish
Closes gh-7030
2016-09-28 16:45:19 +02:00
Andy Wilkinson 63796a2a82 Merge branch '1.5.x' 2016-09-28 11:12:04 +01:00
Vedran Pavic f485660482 Upgrade Spring Session to 1.3.0.M2
Closes gh-6979
2016-09-28 11:07:11 +01:00
Stephane Nicoll 133739b222 Merge branch '1.5.x' 2016-09-26 10:47:31 +02:00
Stephane Nicoll 7dfa3a8c83 Harmonize Caffeine CacheManager bean name
Closes gh-6980
2016-09-26 10:47:09 +02:00
Andy Wilkinson aaf435ff2a Suppress Neo4J-related deprecation warnings
See gh-6976
2016-09-21 20:57:05 +01:00
Andy Wilkinson 08842c1273 Suppress Neo4J-related deprecation warnings
See gh-6976
2016-09-21 19:52:18 +01:00
Andy Wilkinson 0cdbbd49b5 Address warnings caused by deprecations in Spring Framework 5
See gh-6977
2016-09-21 17:34:54 +01:00
Andy Wilkinson 16a0f72df5 Merge branch '1.5.x' 2016-09-21 17:03:35 +01:00
Andy Wilkinson c108da9d53 Upgrade to Spring Data Ingalls M1
Closes gh-6785
Closes gh-5835
2016-09-21 17:01:47 +01:00
Stephane Nicoll 9bc77254a7 Start building against Spring Framework 5 snapshot
This commit enables compatibility build against Spring Framework 5.

The Velocity and Guava support that are deprecated in the 1.x line have
been removed and few other classes contain minor change to comply to non
backward compatible changes in Spring Framework 5.

This commit also switches the required java version to 8.

Closes gh-6977
2016-09-21 17:37:02 +02:00
Stephane Nicoll 6643ec3713 Next development version 2016-09-21 17:05:50 +02:00
Stephane Nicoll bd7c20eb1c Deprecate Guava support 2016-09-21 14:59:02 +02:00
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
2016-09-21 14:30:28 +02:00
Stephane Nicoll 6bd670edbc Initiate 1.4.x branch 2016-09-21 11:11:24 +02:00
Spring Buildmaster 7e9ed5e1a7 Next Development Version 2016-09-21 07:58:07 +00:00
Phillip Webb 51092af739 Polish 2016-09-20 14:32:09 -07:00
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
2016-09-17 19:33:06 -07:00
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
2016-09-16 17:52:25 -07:00
Phillip Webb 825dd0a26c Merge branch '1.3.x' 2016-09-16 15:07:18 -07:00
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
2016-09-16 14:14:21 -07:00
Phillip Webb a2e4127d4f Fix multi-annotation nested condition logic
Update `AbstractNestedCondition` to correctly group nested conditions
on members.

Fixes gh-6672
2016-09-16 13:31:55 -07:00
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
2016-09-16 16:37:50 +02:00
Stephane Nicoll 78bb04f2c1 Polish 2016-09-16 14:54:11 +02:00
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
2016-09-16 14:53:50 +02:00
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
2016-09-15 10:42:59 -07:00
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
2016-09-14 17:14:37 -07:00
Johnny Lim caa4c0800f Polish
Closes gh-6872
2016-09-13 09:25:06 +02:00
Phillip Webb c56f30fd91 Formatting 2016-09-12 12:44:31 -07:00
Stephane Nicoll ee668e6782 Polish contribution
Closes gh-6651
2016-09-12 14:53:02 +02:00
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
2016-09-12 14:42:07 +02:00
Stephane Nicoll def40bf27f Polish 2016-09-12 14:36:12 +02:00
Stephane Nicoll a347a780e7 Polish contribution
Closes gh-6649
2016-09-12 14:34:40 +02:00
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
2016-09-12 14:11:00 +02:00
Phillip Webb 56544c8dd5 Polish 2016-09-09 10:27:44 -07:00
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
2016-09-09 16:35:57 +02:00
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.
2016-09-09 10:34:49 +02:00
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
2016-09-07 16:50:25 -07:00
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
2016-09-07 10:50:39 -07:00
Johnny Lim 4b9f6869f0 Polish
Closes gh-6817
2016-09-05 09:08:08 +02:00
Andy Wilkinson 2e1988f97e Rework welcome page so that it only handles reqs that accept text/html
Closes gh-6668
2016-08-31 19:26:17 +01:00
Andy Wilkinson 3814e509a3 Polish @deprecated javadoc and link to replacements where available
Closes gh-6765
2016-08-31 14:34:49 +01:00
Andy Wilkinson d720645275 Polishing
Fix mistake introduced during forward merge
2016-08-31 14:06:37 +01:00
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
2016-08-31 14:49:15 +02:00
Andy Wilkinson b488a3d9a3 Merge branch '1.3.x' 2016-08-31 13:30:39 +01:00
Andy Wilkinson 63b8e82c10 Update OnBeanCondition to consider hierarchy for PARENTS search strategy
Closes gh-6762
2016-08-31 13:28:08 +01:00
Phillip Webb 565ad79856 Polish 2016-08-29 20:26:30 +01:00
Phillip Webb 850141c405 Merge branch '1.3.x' 2016-08-29 15:30:30 +01:00
Phillip Webb 69e96c6211 Polish 2016-08-29 15:29:54 +01:00
Andy Wilkinson 55f6fb94ef Merge branch '1.3.x' 2016-08-26 17:32:50 +01:00
Andy Wilkinson a5c6b0954d Consider ancestors when finding primary beans for ConditionalOnSingleCandidate
Closes gh-6559
2016-08-26 17:29:47 +01:00
Andy Wilkinson 6df279d3a1 Merge branch '1.3.x' 2016-08-26 14:30:49 +01:00
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
2016-08-26 13:46:56 +01:00
Stephane Nicoll 47c568a24d Polish contribution
Closes gh-6746
2016-08-26 14:24:19 +02:00
Caleb Cushing bb7b789cd9 Detect Neo4j bolt driver
Closes gh-6690
2016-08-26 13:44:02 +02:00
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
2016-08-26 13:38:17 +02:00
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
2016-08-26 11:31:46 +02:00
Johnny Lim 524edaea51 Polish
Closes gh-6728
2016-08-23 15:13:33 +02:00
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
2016-08-23 10:42:55 +02:00
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
2016-08-22 23:01:44 +01:00
Andy Wilkinson 1dc231f771 Use Hamcrest's containsString matcher rather than Mockito's 2016-08-22 15:48:44 +01:00
Andy Wilkinson d4c9a2b271 Merge branch '1.3.x' 2016-08-22 15:07:03 +01:00
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
2016-08-22 14:58:34 +01:00
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
2016-08-22 15:39:41 +02:00
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
2016-08-22 11:49:32 +02:00
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
2016-08-22 10:12:26 +02:00
Johnny Lim 37c8c3669b Polish
Closes gh-6671
2016-08-17 10:49:04 +02:00
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
2016-08-16 17:54:51 +02:00
Stephane Nicoll 79b0d14504 Fix wrong use of slf4j
Closes gh-6650
2016-08-15 11:44:57 +02:00
Andy Wilkinson c542d87c61 Verify that @FlywayDataSource is preferred over any "normal" DataSource 2016-08-12 13:17:09 +01:00
Andy Wilkinson 7c54c3ff21 Ensure that @LiquibaseDataSource is preferred to “normal” DataSource
Closes gh-6604
2016-08-12 13:13:57 +01:00
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
2016-08-12 13:11:37 +01:00
Andy Wilkinson ec9549f01f Downgrade to Jackson 2.7.6 and verify Elasticsearch’s compatibility
Closes gh-6508
2016-08-12 11:49:45 +01:00
Stephane Nicoll 80a1897ccb Remove useless postgresql alias
See gh-6534
2016-08-02 15:06:02 -07:00
Stephane Nicoll 90c67daec1 Polish contribution
Closes gh-6534
2016-08-02 14:19:28 -07:00
Vedran Pavic b5e2bff1a4 Fix aliases for database names in `JdbcSessionDatabaseInitializer`
See gh-6354
2016-08-02 14:18:38 -07:00
Stephane Nicoll 3f14bdc01d Add missing type condition on JdbcTemplateAutoConfiguration
Closes gh-6499
2016-07-29 14:23:12 +02:00
Spring Buildmaster 334baaeffd Next development version 2016-07-28 19:54:01 +00:00
Spring Buildmaster a89ef5df6e Next Development Version 2016-07-28 09:18:40 +00:00
Johnny Lim 9627d0ed66 Polish
Closes gh-6487
2016-07-27 12:29:33 +01:00