1286 Commits

Author SHA1 Message Date
Stephane Nicoll
c6dab447cd Fix visibility of inner classes of ServletWebServerFactoryConfiguration
Closes gh-19395
2019-12-23 16:44:52 +01:00
Tadaya Tsuyukubo
294267d2e0 Fix typo on ConditionMessage
See gh-19354
2019-12-22 08:40:43 +01:00
Stephane Nicoll
5d8fe860d7 Polish "Use ssl.enabled flag when RabbitMQ address has no protocol"
There is a direct link between the sslEnabled flag and the default port
that should be used by an address. The checks are currently set in two
places:

* Determine which port should be used
* Determine if SSL should be enabled

This commit polishes the initial proposal so that secureConnection is
only set if a protocol is available.

See gh-19109
2019-11-25 13:52:27 +01:00
cbono
2210236f82 Use ssl.enabled flag when RabbitMQ address has no protocol
See gh-19109
2019-11-25 11:16:56 +01:00
Adam Michalik
c154a014a1 Remove invalid example of spring.mvc.async.request-timout property
See gh-19057
2019-11-21 14:13:22 +01:00
Stephane Nicoll
4d1373c94d Polish "Support amqps:// URIs in spring.rabbitmq.addresses"
See gh-18808
2019-11-05 14:07:24 +01:00
Mark Pollack
0fedb24c6f Support amqps:// URIs in spring.rabbitmq.addresses
See gh-18808

Co-Authored-By: Bryan Kelly <xyloman@gmail.com>
2019-11-05 14:07:24 +01:00
Andy Wilkinson
69a95ce5c1 Allow dependsOn relationships created by post-processor to be overridden
Previously, AbstractDependsOnBeanFactoryPostProcessor was unordered
which meant that it was impossible to guarantee that another bean
factory post-processor would run after it. This prevented overriding
of the dependsOn relationships that is creates.

This commit updates AbstractDependsOnBeanFactoryPostProcessor to give
it a default order of zero. This will allow additional bean factory
post-processors to be configured with a lower precedence order (values
greater than 0) so that they run after any
AbstractDependsOnBeanFactoryPostProcessor and can override the
dependencies that it has configured.

Fixes gh-18362
2019-11-05 09:53:36 +00:00
Stephane Nicoll
a315d4229d Start building against Spring Data Lovelace-SR12 snapshots
See gh-18743
2019-10-29 10:31:00 +01:00
Rafiullah Hamedy
81dc6e02e6 Rename max-http-post-size server property
Rename `max-http-post-size` to `max-http-form-post-size` for Jetty and
Tomcat to make it clearer that they only apply to POSTed form content.

See gh-18566
2019-10-22 16:00:43 -07:00
wycm
681a94b0d5 Optimize debug level logs
See gh-18604
2019-10-22 09:36:48 +02:00
Brian Clozel
9c5ee1126f Polish
See gh-18473
2019-10-16 14:36:19 +02:00
Brian Clozel
e4fa9ce8c6 Deprecate server.connection-timeout property
Prior to this commit, all supported servers would share the same
configuration property `server.connection-timeout`. Unfortunately, in
many cases the behavior of this timeout changes depending on the server.
From actual connection setup timeout, to detecting and closing idle
connections, this property cannot be properly translated from one server
implementation to another.

This commit deprecates this configuration property and introduces server
specific properties:

* `server.jetty.connection-idle-timeout`
(Time that the connection can be idle before it is closed.)
* `server.netty.connection-timeout`
(Connection timeout of the Netty channel.)
* `server.tomcat.connection-timeout`
(Amount of time the connector will wait, after accepting a connection,
for the request URI line to be presented.)
* `server.undertow.no-request-timeout`
(Amount of time a connection can sit idle without processing a request,
before it is closed by the server.)

`server.connection-timeout` is now deprecated and will be removed in a
future release.

Fixes gh-18473
2019-10-16 13:48:48 +02:00
Andy Wilkinson
00d4b44cbb Remove trailing commas from test SQL scripts
Closes gh-18607
2019-10-15 19:47:27 +01:00
Andy Wilkinson
3d4157ad6d Correct SCM URLs in published poms
Previously, Maven's default behaviour was relied up which resulted
in the artifact ID being appended to each URL as it was inherited.
This behaviour can only be disabled in Maven 3.6 and later, a version
that we cannot use due to an incompatibility with the Flatten Plugin.

This commit works around Maven's default behaviour by defining
properties for the SCM URL, connection, and developer connection and
then explicitly defining the settings in each pom using these
properties. The explicit definition of the properties in each pom
prevents them being inherited from the parent, thereby disabling the
unwanted appending of the artifact ID to the URL.

Fixes gh-18328
2019-10-02 10:48:30 +01:00
Tadaya Tsuyukubo
bccdf04358 Use ordered TaskExecutorCustomizers
Use an ordered stream in `TaskExecutionAutoConfiguration` when
obtaining the TaskExecutor customizers.

See gh-18333
2019-09-28 18:44:57 -07:00
Phillip Webb
050460f635 Check factory bean for EntityManager datasource
Update `DataSourceInitializedPublisher` to fallback to the
`LocalContainerEntityManagerFactoryBean` if the
`javax.persistence.nonJtaDataSource` property is not defined.

As of Hibernate 4.3 the property is no longer set if the `EntityManager`
is created from a `PersistenceUnitInfo` instance rather than actual
properties.

Although this is being addressed in Hibernate issue HHH-13432, it's
not strictly a requirement of the JPA spec that the property is set.

Fixes gh-17061
2019-09-26 12:14:13 -07:00
Madhura Bhave
342a0535d7 Explicitly configure SecurityWebFilterChain bean for reactive oauth2 client
This will ensure that ReactiveManagementWebSecurityAutoConfiguration backs
off and that the actuator endpoints are also secured via OAuth2.

Fixes gh-17949
2019-09-24 09:50:45 -07:00
Andy Wilkinson
c613418451 Suppress body when handling a no content (204) "error"
Fixes gh-18136
2019-09-24 16:01:18 +01:00
Andy Wilkinson
419f92d381 Tune @ConditionalOnMissingBean for interface-based back off
Previously, a number of usages of @ConditionalOnMissingBean prevented
a bean that implements an auto-configured bean's "main" interface from
causing the auto-configuration of the bean to back off. This would
happen when @ConditionalOnMissingBean did not specify a type, the
@Bean method returned the bean's concrete type, and that concreate
type implements a "main" interface.

This commit updates such usages of @ConditionalOnMissingBean to
specify the "main" interface as the type of the bean that must be
missing. This will allow, for example, the auto-configured
MongoTemplate bean to back off when a MongoOperations bean is defined.

Fixes gh-18101
2019-09-24 11:13:35 +01:00
Andy Wilkinson
9df356ec4c Fix destination checking in Artemis auto-configuration tests
Closes gh-18319
2019-09-23 16:45:36 +01:00
Andy Wilkinson
e5f26a4f1a Rename test resource to be Windows-friendly 2019-09-22 11:29:45 +01:00
aohana
51a8c73b7b Test custom comment prefix with one that does not work by default
See gh-18285
2019-09-21 13:33:20 +01:00
Andy Wilkinson
19ccfaea86 Fix QuartzAutoConfiguration when Liquibase is not on the class path
Fixes gh-18153
2019-09-06 13:05:53 +01:00
Andy Wilkinson
29080b87ec Protect autoconfigure module against slow starting test containers 2019-09-04 10:15:10 +01:00
Phillip Webb
43108d5495 Add @SpringBootApplication.scanBasePackages note
Update the javadoc to note that `scanBasePackages` only affects the
`@ComponentScan` annotation and isn't a replacement for `@EntityScan`
or `@Enable...Repositories`.

Closes gh-18109
2019-09-03 16:51:06 -07:00
Johnny Lim
2eac53cc5d Fix typo in deprecation reason for liquibase.check-change-log-location
See gh-18100
2019-09-03 13:32:29 +01:00
Andy Wilkinson
52311ffe3c Depend on FlywayMigrationInitializer beans by type not name
Previously, a custom FlywayMigrationInitializer bean named anything
other than flywayInitializer could result in a
NoSucBeanDefinitionException as the dependencies set up for JPA and
JDBC components used the bean name flywayInitializer.

This commit updates the configuration of the dependencies to depend
on FlywayMigrationInitializer beans by type rather than name.

Fixes gh-18105
2019-09-03 12:45:17 +01:00
Andy Wilkinson
f313bf27a1 Depend on Flyway beans by type not name
Previously, a custom Flyway bean named anything other than flyway
could result in a NoSucBeanDefinitionException as the dependencies
set up for JPA and JDBC components used the bean name flyway.

This commit updates the configuration of the dependencies to depend
on Flyway beans by name rather than type.

Fixes gh-18102
2019-09-03 12:13:28 +01:00
Andy Wilkinson
4fd7b68f71 Polish 2019-09-02 11:45:55 +01:00
Phillip Webb
a86258e62c Revert "Reduce bean method visibility"
Reverts commit 2be3027dcfe7bad5f993bf93ebe6c9bd0e311ace
on 2.1.x
2019-09-01 20:04:09 -07:00
Phillip Webb
2be3027dcf Reduce bean method visibility
See gh-17539
2019-09-01 18:30:39 -07:00
Phillip Webb
75a1a24914 Polish "Ensure Flyway/Liquibase runs before Quartz"
See gh-17539
2019-09-01 14:48:37 -07:00
Dmytro Nosan
7e5bd1f281 Ensure Flyway/Liquibase runs before Quartz
Add post processors to ensure that SchedulerFactoryBean and Scheduler
beans depend on the Flyway and Liquibase beans.

See gh-17539
2019-09-01 14:46:25 -07:00
Phillip Webb
5938ca78b6 Fix request matcher management context support
Fix caching issues in `ApplicationContextRequestMatcher` and allow
subclasses to ignore an application context entirely. Update existing
matcher implementations so that they deal with the management context
correctly.

Prior to this commit, the `ApplicationContextRequestMatcher` would
return a context cached from the first request. It also didn't
provide any way to ignore a context. This meant that if the user was
running the management server on a different port the matching results
could be inconsistent depending on if the first request arrived on
the regular context or the management context. It also meant that we
could not distinguish between the regular context and the management
context when matching.

Closes gh-18012
2019-08-30 14:36:16 -07:00
Madhura Bhave
674f2f5a6c EndpointRequest should match @ServletEndpoint
This commit also changes the request matcher for MVC
endpoints to use an AntPathRequestMatcher instead of an
MvcRequestMatcher. The endpoint is always available
under the mapped endpoint path and this way the same matcher
can be used for both MVC and Jersey.

Fixes gh-17912

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
2019-08-28 11:48:53 +05:30
Madhura Bhave
28d374d84d Polish "Configure Issuer Validator for Resource Server"
See gh-17952
2019-08-23 19:34:49 -07:00
HaiTao Zhang
b3d189cf87 Configure Issuer Validator for Resource Server
See gh-17952
2019-08-23 19:34:31 -07:00
Andy Wilkinson
ac0a22d603 Tolerate LCEMFB with null JpaVendorAdapter in JPA auto-config
Closes gh-17935
2019-08-23 10:39:40 +01:00
Andy Wilkinson
ab87b2a39b Polish 2019-08-19 16:05:43 +01:00
Filip Hrisafov
1ebbe9fc55 Map non-null LDAP properties
The userDn and password in LdapContextSource are not nullable. The
default values for userDn and password in LdapProperties are null. When
the values are set to null there will eventually be a
NullPointerException during
AbstractContextSource#setupAuthenticatedEnvironment since HashTable
doesn't allow null for values.

See gh-17861
2019-08-17 06:34:22 +02:00
Madhura Bhave
0187e5106d Polish "Set up SpringLiquibase beans' dependencies by type rather than name"
See gh-17805
2019-08-16 16:43:50 -07:00
Andrii Hrytsiuk
b69f9e9fdf Add missing javadoc
See gh-17805
2019-08-16 16:05:33 -07:00
Andrii Hrytsiuk
eaad22dd89 Set up SpringLiquibase beans' dependencies by type rather than name
See gh-17805
2019-08-16 16:05:33 -07:00
Stephane Nicoll
1b3a6d1616 Polish "Configure a temporary directory with Undertow"
See gh-17778
2019-08-08 16:29:43 +02:00
陈其苗
77931a0981 Fix typo in assertion
See gh-17774
2019-08-05 15:30:33 -07:00
Madhura Bhave
faaada1416 Remove liquibase check change log location
Missing change logs would lead to an exception even
if the checkChangeLogLocation was set to false. Spring Boot's check
would pass but Liquibase would fail later making this property redundant.

Fixes gh-16232
2019-08-02 09:03:45 -07:00
Stephane Nicoll
eb26492eef Polish 2019-08-02 17:31:07 +02:00
Michael Simons
274098f2e2 Refine back-off strategy of Neo4j SessionFactory
This commit separates the auto-configuration of the `SessionFactory` in
an isolated class so that the rest of the auto-configuration is still
applied if the user provides a custom `SessionFactory` bean.

See gh-17662
2019-08-02 17:12:01 +02:00
Madhura Bhave
5f3364326b Configure interceptors for WelcomePageHandlerMapping
Fixes gh-16309
2019-08-01 12:27:53 -07:00