Commit Graph

2571 Commits

Author SHA1 Message Date
Andy Wilkinson
b1d8cc55fc Polish "Fix JSP availability check when not running as a packaged war"
Closes gh-12859
2018-06-21 17:30:12 +01:00
Mandap
82465cf435 Fix JSP availability check when not running as a packaged war
See gh-12859
2018-06-21 17:21:00 +01:00
Andy Wilkinson
e7b03f7ca3 Don't auto-configure MultipartConfigElement when using Commons FileUpload
Previously, when a user had declared a custom MultipartResolver bean
that is a CommonsMultipartResolver, part resolution would fail. The
failure was occurring as the servlet container was consuming the parts
before CommonsMultipartResolver had a chance to read them. This was
happening because a MultipartConfigElement was being auto-configured.

This commit updates the multipart auto-configuration so that a
MultipartConfigElement is not auto-configured when there is a
CommonsMultipartResolver bean in the context.

Closes gh-7735
2018-06-20 12:05:23 +01:00
Stephane Nicoll
99f993bc82 Add tests for JndiConnectionFactoryAutoConfiguration
Closes gh-13526
2018-06-19 20:47:23 +02:00
Spring Buildmaster
36b8639853 Next Development Version 2018-06-14 10:05:31 +00:00
Brian Clozel
1b81f6f4c0 Fix security test with changes in SPR-16836
This commit replaces the use of a GET method by a DELETE method for
testing that the HiddenHttpMethodFilter is ordered before the security
filter. With SPR-16836 changes, only PUT DELETE and PATCH are now
allowed.
2018-06-12 16:39:42 +02:00
Stephane Nicoll
c67aedd8bc Polish "Retrieve javax.cache.CacheManager using Bean ClassLoader"
Closes gh-13338
2018-06-04 14:08:58 +02:00
Martin Theiss
76b9d0d243 Retrieve javax.cache.CacheManager using Bean ClassLoader
This commit uses the bean's classloader to retrieve the CacheManager to
prevent issues with off-heap serialization.

See gh-13338
2018-06-04 14:08:57 +02:00
Stephane Nicoll
f745f20c8c Clarify scope of JNDI-based MailSenderAutoConfiguration
This commit separates the auto-configuration of JavaMailSender in two
distinct configuration: one based on existing Session available on JNDI
and the other one based on properties configuration.

This clarifies the auto-configuration report and the fact that the JNDI
variant overrides any Session-related properties that would have been
set in the environment

Closes gh-13026
2018-05-31 16:20:40 +02:00
Phillip Webb
5243adce22 Restore Java 1.6 compatibility 2018-05-30 18:23:17 -07:00
Phillip Webb
4d84933ee4 Also call setHttpOnly property on Tomcat context
Update `ServerProperties` to also call `setHttpOnly` on the
`TomcatContext`. It appears that this is required in addition to
using the `ServletContextInitializer` to setup `SessionCookieConfig`.

Closes gh-12580
2018-05-30 12:02:46 -07:00
Stephane Nicoll
3118f14dbb Fix NPE when OnExpressionCondition is invoked with a null BeanFactory
Closes gh-13249
2018-05-28 14:22:38 +02:00
Phillip Webb
4853477081 Reformat code 2018-05-25 18:17:37 -07:00
Stephane Nicoll
8997143f31 Fix checkstyle violations 2018-05-24 11:40:54 +02:00
Phillip Webb
37646517cf Polish 2018-05-21 15:17:42 -07:00
Stephane Nicoll
d9029ef69e Fix documentation of spring.kafka.producer.batch-size
Closes gh-13127
2018-05-17 16:08:38 +02:00
Stephane Nicoll
b48f34117e Polish "Add support for Jersey WrappingResourceConfig"
Closes gh-13117
2018-05-11 09:29:36 +02:00
Zoltan Reegn
dfcd87207f Add support for Jersey WrappingResourceConfig
See gh-13117
2018-05-11 09:29:09 +02:00
Spring Buildmaster
010b4fccbd Next development version 2018-05-09 09:31:46 +00:00
Phillip Webb
99dad81e9a Update copyright header year for changed files 2018-05-04 12:15:13 -07:00
Phillip Webb
0a0247975c Formatting 2018-05-04 12:00:50 -07:00
Stephane Nicoll
1314aaa368 Avoid early init of CacheManager
This commit restructures the Cache auto-configuration to avoid an early
init on CacheManager (and potentially all its infrastructure). Rather
than adding a dependency on the validator bean, this commit relies on
the fact CacheAspectSupport checks if a CacheManager is available in the
afterSingletonsInstantiated callback. In this case, a simple bean with
a postconstruct callback is enough.

Closes gh-13038
2018-05-04 16:25:06 +02:00
Phillip Webb
4e96587dc8 Polish modifier declaration ordering
Follow that Java language specification.
2018-05-03 09:46:15 -07:00
Phillip Webb
64930d4e5b Polish caught exception names
Prefer `ex` over `e`.
2018-05-03 09:46:15 -07:00
Phillip Webb
3ee777e142 Polish ternary expressions
Consistently format ternary expressions and always favor `!=` as the
the check.
2018-05-03 09:46:15 -07:00
Andy Wilkinson
06cf698387 Polish 2018-05-02 12:12:47 +01:00
Stephane Nicoll
08bc306a61 Guard IntegrationJmxConfiguration if no mBeanServer is available
Closes gh-12966
2018-05-02 10:35:17 +02:00
Andy Wilkinson
df2372cd93 Avoid Kafka 0.10 destabilising the Windows build
Closes gh-12963
2018-04-25 15:03:40 +01:00
Spring Buildmaster
c10aad165f Next Development Version 2018-04-09 23:14:33 +00:00
Spring Buildmaster
ade4760842 Next Development Version 2018-04-05 09:01:52 +00:00
Phillip Webb
6b59814cbc Switch error views to use SimpleEvaluationContext
Update `ErrorMvcAutoConfiguration` to use `SimpleEvaluationContext`
rather than `StandardEvaluationContext`.

Fixes gh-12507
2018-04-04 15:34:02 -07:00
Phillip Webb
dd0866000f Revert "Add text/plain error response support"
This reverts commit 23892e33d6.
2018-04-04 12:06:13 -07:00
Phillip Webb
a8f366a554 Fix copyright header for edited files 2018-03-16 15:07:23 -07:00
Phillip Webb
23892e33d6 Add text/plain error response support
Refine `BasicErrorController` mappings so that only JSON and XML get
structured responses. A simple string response is returned for all
other media types.

Fixes gh-12513
2018-03-16 14:30:42 -07:00
igor-suhorukov
6bdfce5874 Polish
Closes gh-12422
2018-03-12 15:35:08 +01:00
Stephane Nicoll
66d1f5cd0b Fix expansion of static-locations array
This commit fixes a NPE when the static-locations array of
`ResourceProperties` has to be expanded as the setter is cleaning the
values of the array and is affected by a non-intuitive behaviour of the
binder.

When the binder needs to set an element of an array and the size of the
array isn't large enough, the binder proceeds as follows:

* An array of the required size is created
* The content of the original array is copied over
* The setter of the property is invoked with the new array
* The setter of the property is invoked and the returned array is
mutated to set the requested value

While one would expect the array to contain the requested value when the
setter is invoked, this is not the case. Also, the array might contain
null values if a value at index 8 should be set and the array has a size
of 3.

All in all, `ResourceProperties#appendSlashIfNecessary` has to account
for `null` and an additional round of cleaning has to happen once
binding has completed.

Closes gh-12360
2018-03-06 15:19:59 +01:00
Madhura Bhave
c2f7dd86dc Revert default for CRSF enabled to false
Fixes gh-12267
2018-02-28 08:54:43 -08:00
Stephane Nicoll
b4a7e1d64b Use toLowerCase() and toUpperCase() with Locale.ENGLISH
This commit updates all `toLowerCase()` and `toUpperCase` invocations to
use the variant that takes a `Locale` to avoid locale-specific side
effect.

Closes gh-12213
2018-02-26 17:49:03 +01:00
Madhura Bhave
4e61136948 Enable CSRF protection by default
See gh-11758
2018-02-16 14:43:50 -08:00
Andy Wilkinson
145d8d2673 Defer removal of Connectors until after ServletContext initialization
Previously, we removed the Connectors from Tomcat's Service before
the Context was started. The removal of the Connectors is required as
it prevents Tomcat from accepting requests before we're ready to
handle them.

Part of starting the Context is creating and initializing the
ServletContext. ServerProperties uses a ServletContextInitializer to
set the session tracking modes and Tomcat rejects the SSL tracking
mode if there is no SSL-enabled connector available. With the previous
arrangement this led to a failure as the Connectors had been removed
so the SSL-enabled connector could not be found.

This commit updates the embedded Tomcat container to defer the
removal of the Connectors until after the context has been started
but still at a point that is before the Connectors themselves would
have been started.

Closes gh-12058
2018-02-14 17:04:55 +00:00
Phillip Webb
798522d890 Format with Eclipse Oxygen SR2 2018-02-08 15:46:49 -08:00
Spring Buildmaster
6414b42335 Next Development Version 2018-01-30 23:29:33 +00:00
Phillip Webb
61f7bd8576 Polish 2018-01-30 12:37:40 -08:00
Stephane Nicoll
11f700aa9d Fix handling of redis password containing a colon
Closes gh-11371
2018-01-30 10:27:26 +01:00
Andy Wilkinson
5a74f63f7c Polish "Configure ErrorReportValve not to report stack traces"
Closes gh-11790
2018-01-29 19:50:07 +00:00
Alex Panchenko
29736e340e Configure ErrorReportValve not to report stack traces
See gh-11790
2018-01-29 17:23:49 +00:00
Andy Wilkinson
c06956376c Use correct Assert class in ServerPropertiesAutoConfiguration 2018-01-22 10:49:47 +00:00
Phillip Webb
8e783cdae9 Polish 2018-01-18 21:42:11 -08:00
Stephane Nicoll
6c191e149d Fix broken usage of LiquibaseServiceLocatorApplicationListener 2018-01-16 11:43:36 +01:00
Stephane Nicoll
8529913b24 Improve error message when no ServerProperties bean is found
Closes gh-11511
2018-01-16 09:53:08 +01:00
Stephane Nicoll
7b3bedc468 Fix detection of dot-based resource bundle basenames
This commit makes sure that properties-based resource bundle location
with a dot is detected. It also harmonizes the description of the
configuration key as our support is not stricly matching the convention.

Closes gh-10092
2018-01-09 13:18:48 +01:00
Johnny Lim
d2109ddf4d Use MongoClient consistently
Closes gh-11431
2017-12-27 17:01:59 +01:00
Stephane Nicoll
29565a7981 Polish 2017-12-14 10:59:23 +01:00
Stephane Nicoll
dbae4fc1c3 Make it easier to use jOOQ with several data sources
Closes gh-11324
2017-12-14 09:33:10 +01:00
Phillip Webb
6a55623910 Polish 2017-12-13 12:21:57 -08:00
Stephane Nicoll
7b8adfab41 Polish 2017-11-30 18:00:43 +01:00
Stephane Nicoll
d920b49ba1 Polish
See gh-11193
2017-11-29 10:47:09 +01:00
Spring Buildmaster
df2ae7aa19 Next Development Version 2017-11-28 09:55:46 +00:00
Andy Wilkinson
137d3f3533 Test Flyway location checking with implicit classpath: prefix
Closes gh-10894
2017-11-23 11:44:25 +00:00
Andy Wilkinson
d4e19f8170 Auto-configure jOOQ after transaction auto-configuration
jOOQ auto-configuration will make use of a PlatformTransactionManager
bean if available. This commit ensures that jOOQ is auto-configured
after transaction auto-configuration, thereby ensuring that any
auto-configuration PlatformTransactionManager bean can be consumed.

Closes gh-11052
2017-11-23 11:33:16 +00:00
Stephane Nicoll
fc3d25d705 Properly document spring.data.neo4j.open-in-view's default value
Closes gh-10826
2017-10-30 16:22:10 +01:00
Marten Deinum
ab3d65ccae Polish JobLauncherCommandLineRunner
The JobLauncherCommandLineRunner reassigned method arguments inside the
merge method. Instead of reassigning the method argument just return
the new instance directly.

Also some minor cleanup (unnesseccary null check and continue keyword).

Closes gh-10612
2017-10-28 07:57:14 +02:00
Stephane Nicoll
81e33dc801 Fix NPE in url is null and no embedded database is available
Closes gh-10626
2017-10-25 13:57:00 +02:00
Spring Buildmaster
c0f9f64776 Next Development Version 2017-10-16 12:36:43 +00:00
Andy Wilkinson
ffdff1cdc2 Consider multiple MBeanExporters when excluding beans from export
Closes gh-10632
2017-10-13 12:31:57 +01:00
Johnny Lim
bfa291f671 Polish 2017-10-02 15:07:03 +01:00
Andy Wilkinson
616d11c00a Only wait for background preinit to complete when it has started
Closes gh-10362
2017-09-25 17:06:28 +01:00
Eddú Meléndez
93844bffbc Polish JacksonAutoConfiguration
This commit removes unused constructor parameters introduced in 0c2ecb7.

Closes gh-10412
2017-09-25 10:05:29 +02:00
Stephane Nicoll
d490b99473 Clarify scope of spring.datasource.platform
Closes gh-10416
2017-09-25 10:04:37 +02:00
Stephane Nicoll
61ae92992b Polish "Document default value change for proxy-target-class"
Closes gh-10134
2017-09-16 06:46:36 +02:00
Stephane Nicoll
fbb6b88155 Document default prefix/suffix values
Closes gh-10290
2017-09-15 12:47:46 +02:00
Stephane Nicoll
b309495c2e Polish 2017-09-15 12:36:11 +02:00
Spring Buildmaster
30eb937a83 Next Development Version 2017-09-12 10:54:22 +00:00
Andy Wilkinson
5938df52ea Stop auto-config of MethodValidationPP triggering early init
Previously, if a user's configuration class provided a custom
Validator bean, that configuration class would be initialized very
early so that the Validator could be used to create the
auto-configured MethodValidationPostProcessor. This early
initialization could problems as it may prevent any of the
configuration class's dependencies from being post-processed.

This commit updates the injection of the Validator bean to be lazy,
thereby preventing the creation of the auto-configured
MethodValidationPostProcessor from triggering early initialization.

Closes gh-9416
2017-09-11 11:52:38 +01:00
Stephane Nicoll
db18abc542 Fix Elasticsearch template condition if no client is defined
This commit makes sure to backoff if a Client bean is not available.

Closes gh-10143
2017-09-07 10:32:21 +02:00
Stephane Nicoll
5fc01880bc Polish 2017-09-07 09:55:50 +02:00
Madhura Bhave
64ffcfc83f Document JWK property
Closes gh-10022
2017-08-29 12:51:14 -07:00
Paul Vorbach
04ca7f137d Identify and fix incomplete assertions
Several calls to assertThat lacked a following assertion most often due
to wrong use of parenthesis.

See gh-10084
2017-08-29 13:49:28 +02:00
Madhura Bhave
9b5e5f32e1 ClientId not always required for client credentials
Fixes gh-10013
2017-08-27 23:23:00 -07:00
Stephane Nicoll
fa037610f8 Add missing class check on Neo4jDataAutoConfiguration
Neo4jDataAutoConfiguration is meant to kick in when Spring Data Neo4J is
on the classpath. Yet, we were only checking for the presence of neo4j
itself and the transaction manager provided by spring-tx.

This commit makes sure to back off if Spring Data Neo4J is not present.

Closes gh-10038
2017-08-18 12:07:59 +02:00
Stephane Nicoll
dbaaf2a5fa Improve conditions on FreeMarkerWebConfiguration
This commit makes sure to prevent the Freemarker web auto-configuration
to kick in if `spring-webmvc` is not on the classpath.

Closes gh-10027
2017-08-17 13:28:45 +02:00
Andy Wilkinson
e08d09f5a3 Polish "Fix logged property names when initializing OAuth2 client"
See gh-9944
2017-08-09 11:26:56 +01:00
Christian Bühler
6babd41f19 Fix logged property names when initializing OAuth2 client
Closes gh-9944
2017-08-09 11:23:51 +01:00
Johnny Lim
56f47e1a50 Polish
Closes gh-9938
2017-08-03 21:17:10 +01:00
Gytis Trikleris
f43ad00129 Delay Narayana recovery manager until it's started explicitly
Closes gh-9641
2017-08-01 15:42:40 +01:00
Andy Wilkinson
d62c26c971 Ensure that preinitialization has completed before run returns
Previously, background preinitialization was started in response to
an ApplicationEnvironmentPreparedEvent and would complete at an
undetermined time later. This opened a window where SpringApplication
run could return and background preinitialization could still be
in progress. If, within this window, something attempted to configure
the logging system, an IO failure could occur as logging on the
background preinitialization thread would attempt to use resources
that had been closed.

This commit updates BackgroundPreinitializer so that it waits for
preinitialization to have completed when it receives an application
ready or application failed event. This prevents SpringApplication
run from returning while preinitialization is still in progress,
closing the window described above.

With info level logging enabled it appears that background
preinitialization consistently completes before the application ready
event is published. As a result, waiting should have no adverse effect
on performance in normal circumstances. With logging configured such
that background preinitialization outputs a large volume of log
messages (enabling trace logging for the root logger, for example), it
will be slowed down sufficiently for waiting to be necessary.

Closes gh-5669
2017-07-27 10:18:21 +01:00
Andy Wilkinson
42eec50e90 Perform background preinitialization once per class loader
Background preinitialization triggers static initialization of a
number of components that are slow to initialize. As the
initialization is static, it's only necessary once per class loader.

Previously, a new background preinitialization thread would be
created and started for each ApplicationEnvironmentPreparedEvent.
This commit updates the preinitializer to only create and start the
thread if preinitialization has not already been started for the
current class loader.

Closes gh-9869
2017-07-27 10:18:21 +01:00
Spring Buildmaster
17a5bb0be4 Next development version 2017-07-27 08:00:21 +00:00
Spring Buildmaster
41c5c0e7c9 Next development version 2017-07-26 08:30:55 +00:00
Phillip Webb
dca463c7d9 Polish 2017-07-24 12:54:24 -07:00
Phillip Webb
66619bbe2b Formatting 2017-07-24 12:54:24 -07:00
Phillip Webb
b9cfe21193 Make @ImportAutoConfiguration not register package
Update `@ImportAutoConfiguration` so that it is no longer annotated with
`@AutoConfigurationPackage` and as such isn't a marker for
`AutoConfigurationPackages`.

Having `@ImportAutoConfiguration` marked as an auto-configuration
package is particularly problematic in tests since it frequently breaks
context caching.

Fixes gh-9282
2017-07-24 12:54:24 -07:00
Stephane Nicoll
9fd94720f1 Better customization of the auto-configured ActiveMQConnectionFactory
This commit exposes additional properties and a callback interface to
further tune the auto-configured ActiveMQConnectionFactory.

Closes gh-9667
2017-07-24 15:27:17 +02:00
Stephane Nicoll
9a34d952e9 Provide an alternative to spring.activemq.pool.configuration
This commit expands the support of PooledConnectionFactory so that
binding the third party object is no longer necessary. All 3rd party
properties are now deprecated in favour of our explicit support.

The main reason behind this change is that a `connection-factory` and
`properties` property were exposed. The former is used to set the
`ConnectionFactory` and makes no sense as a key. The latter is
rebuilding the underlying `ActiveMQConnectionFactory` at each call
without reusing any existing settings.

Closes gh-9837
2017-07-24 13:48:53 +02:00
Andy Wilkinson
d4ecda9030 Work around javac bug (internal review ID 9050163) 2017-07-24 12:37:14 +01:00
Andy Wilkinson
bb35e772c2 Polish "Make NarayanaRecoveryManagerBean conditional on missing bean"
Closes gh-9724
2017-07-24 11:17:39 +01:00
Gytis Trikleris
d8a6954744 Make NarayanaRecoveryManagerBean conditional on missing bean
See gh-9724
2017-07-24 11:16:34 +01:00
Andy Wilkinson
8f877dcee2 Disable auto-config of Narayana's JMS support when JMS module absent
Closes gh-9844
2017-07-24 10:42:40 +01:00
Andy Wilkinson
39b4ecdf63 Adapt to breaking change in Spring Data
See gh-9834
2017-07-22 08:11:26 +01:00
Andy Wilkinson
c70cc55db8 Polishing
See gh-9827
2017-07-21 15:35:57 +01:00