Commit Graph

171 Commits (7e3ad42fd3fb04b7ce39f3972b3a4facb3cd66a1)

Author SHA1 Message Date
Stephane Nicoll 1b10d3fcbf Fix missing metadata for nested POJO
This commit fixes missing descriptions and default values when
applicable for `management.server.ssl`, `server.compression`,
`server.http2`, `server.servlet.jsp`, `server.servlet.session` and
`server.ssl`.

Those nested namespace are managed by a POJO that is declared outside
of the module of the target @ConfigurationProperties type using it. As
a result, the annotation processor has no access to the source model and
can't extract the description and the default value, if any.

This commit migrates the misleading field-level Javadoc to manual meta
data for the time being.

Closes gh-14669
6 years ago
Johnny Lim b079eeff1a Polish
Closes gh-14621
6 years ago
Phillip Webb ff98ba0fa5 Allow early OnWebApplication filtering
Update `OnWebApplicationCondition` to be an
`AutoConfigurationImportFilter` and filter out classes early.

Closes gh-13328
6 years ago
Phillip Webb c2f8398c06 Allow early OnBeanCondition filtering
Update `OnBeanCondition` to be an `AutoConfigurationImportFilter` and
filter out classes early.

See gh-13328
6 years ago
Stephane Nicoll cbae22f0c9 Polish "Migrate size properties to DataSize"
Closes gh-14549
6 years ago
Andy Wilkinson 4b00dc8a5c Add support for Spring Data JDBC (auto-config, starter, and test slice)
Closes gh-14489
6 years ago
Stephane Nicoll 8652f40781 Allow Quartz property to set the scheduler name
This commit makes sure that "org.quartz.scheduler.instanceName" is
honoured if set. Previously, "spring.quartz.scheduler-name" had a
default value and was always set. As a result, `SchedulerFactoryBean`
did not take the quartz property into account.

Closes gh-14243
6 years ago
Stephane Nicoll cfd0ab7646 Remove `spring.cloud.enabled` property
This commit removes an undocumented property and rename the Spring
Cloud Service Connectors auto-configuration.

Closes gh-14219
6 years ago
Madhura Bhave f5deebf0cb Support authorization_code grant for OAuth2 client
This commit also refactors OAuth2 client properties. With
the added support for authorization_code clients, client
registrations are now divided into `login` and `authorization_code`.
An environment post processor is used for backward compatibility with
old Open ID Connect login clients.

Closes gh-13812
6 years ago
Johnny Lim cf17106d8d Polish
Closes gh-14212
6 years ago
Brian Clozel e2a7594246 Configure Reactor HTTP client resources
This commit adds support for the new `ReactorResourceFactory` and
ensures that such a bean is created and destroyed with the application
context. This will create a `ClientHttpConnector` bean, to be configured
on the `WebClient.Builder` instance - or let developers create their own
`ClientHttpConnector` bean to override that opinion.

By default, the `ReactorResourceFactory` is configured to participate
with the global resources, for better efficiency.

Closes gh-14058
6 years ago
Brian Clozel 6ecbd8d21b Auto-Configure FormContentFilter in Spring MVC
Because `HttpPutFormContentFilter` has been deprecated in Spring
Framework 5.1, this commit updates the auto-configuration to replace it
with the new `FormContentFilter`. This new filter is building on the
previous one and supports HTTP DELETE requests as well.

Both filters should not be used in addition, so the former
configuration has been removed. This commit also adds configuration
metadata to let developers know about the configuration key change.

Closes: gh-13363
6 years ago
artsiom d22c3e2787 Add property to disable HiddenHttpMethodFilter
Closes gh-14030
6 years ago
Madhura Bhave d724f154f4 Merge branch '2.0.x' 6 years ago
Madhura Bhave b93c2b9a9f Allow actuator endpoints to be used with mvcMatchers
This commit changes AbstractWebMvcEndpointHandlerMapping to
be a MatchableHandlerMapping. Additionally, EndpointRequest,
now delegates to MvcRequestMatcher for Spring MVC applications.

For all other applications, AntPathRequestMatcher is used as
a delegate.

Closes gh-13962
6 years ago
Andy Wilkinson f28528a527 Allow Data JPA's bootstrap mode to be configured via the environment
In Spring Data Lovelace, repositories' bootstrap mode can be
configured via @EnableJpaRepositories. This commit adds support for
configuring the mode via the environment rather than having to use
the annotation. Additionally, when deferred or lazy bootstrapping is
being used, the LocalContainerEntityManagerFactoryBean is configured
to use a bootstrap executor. This allows JPA's initialization to be
performed on a separate thread, allowing the rest of application
context initialization to proceed in parallel.

Closes gh-13833
6 years ago
Stephane Nicoll de470540ea Add auto-configuration support for TaskScheduler
This commit adds support for providing a default ThreadPoolTaskScheduler
with sensible defaults. A new TaskSchedulerBuilder is provided with
defaults from the `spring.task.scheduler.*` namespace and can be used
to create custom instances.

If no custom `TaskScheduler` bean is present, `@EnableScheduling` now
uses the auto-configured task scheduler.

Closes gh-1397
6 years ago
Madhura Bhave bc6e4e6e55 Add auto-config for reactive OAuth2 Resource Server
Closes gh-13948
6 years ago
Madhura Bhave d6b6a5f81f Add auto-config for spring-security-oauth2-resource-server
Closes gh-13787
6 years ago
Stephane Nicoll e6b44189e0 Polish "Add global support for JMX unique names"
This commit ensures that the new "spring.jmx.unique-names" property
deprecates the Endpoint's specific property as they share the same goal.

If both are set with an incompatible value, an exception is thrown
inviting the user to update their configuration.

Closes gh-13990
6 years ago
artsiom 1a3f08d772 Add global support for JMX unique names
See gh-13990
6 years ago
Stephane Nicoll c071f34a4a Add auto-configuration support for TaskExecutor
This commit adds support for providing a default ThreadPoolTaskExecutor
with sensible defaults. A new TaskExecutorBuilder is provided with
defaults from the `spring.task.*` namespace and can be used to create
custom instances.

If no custom `Executor` bean is present, `@EnableAsync` now uses the
auto-configure application task executor. Same goes for the async support
in Spring MVC.

Closes gh-1563
6 years ago
Stephane Nicoll 14b413bf08 Remove outdated hint 6 years ago
Stephane Nicoll 435c47925e Switch JMS pooling to `pooled-jms`
This commit removes support for `activemq-pool` in benefit of
`pooled-jms`. While the former is not JMS 2 compliant, the latter is and
is independent of the ActiveMQ codebase (so potentially reusable in
custom code).

Closes gh-13927
6 years ago
Brian Clozel 56ab0da287 Support EncodedResourceResolver in resource chain
As of https://jira.spring.io/browse/SPR-16381, Spring Framework now
supports both gzip and Brotli as compression formats for static
resources resolved by the resource chain.

The `GzipResourceResolver` has been deprecated and replaced by the
`EncodedResourceResolver`. This commit uses this new resolver and adapts
the configuration key to reflect those changes.

Note that this resolver is now configured ahead of the
`VersionResourceResolver`.

Closes gh-13242
7 years ago
dnosan c9df1c551a Add auto-configuration for WebServiceTemplate
See gh-12707
7 years ago
Stephane Nicoll fec75c42fa Move unused property in code to metadata 7 years ago
Madhura Bhave 9f4a5c13a5 Add auto-config for WebFlux OAuth2 Login
Closes gh-13142
7 years ago
Stephane Nicoll bd9299dbf9 Add missing metadata for renamed SSL properties
Closes gh-13239
7 years ago
Stephane Nicoll 93c45cb6ec Move server.servlet.path to spring.mvc.servlet.path
Closes gh-12971
7 years ago
Vedran Pavic f81f50c119 Improve LDAP auto-configuration
Auto-configuration of LDAP's `LdapTemplate` is currently a part of
`LdapDataAutoConfiguration` which is conditional of presence of
`LdapRepository` (i.e. Spring Data LDAP). This arrangement isn't ideal
since the `LdapTemplate` is a part of Spring LDAP project, and therefore
should not be tied to Spring Data LDAP.

This commit improves and simplifies LDAP auto-configuration by moving
`LdapTemplate` configuration to `LdapAutoConfiguration`. Consequently,
`LdapDataAutoConfiguration` is not needed anymore and is removed.

See gh-13136
7 years ago
Brian Clozel 84c9a65e9d Auto-configure Elasticsearch REST clients
This commit adds auto-configuration support for both `RestClient` and
`RestHighLevelClient` which are provided by `elasticsearch-rest-client`
and `elasticsearch-rest-high-level-client` dependencies respectively.

`RestClient` is associated with configuration properties in the
`spring.elasticsearch.rest.*` namespace, since this is the component
taking care of HTTP communication with the actual Elasticsearch node.

`RestHighLevelClient` wraps the first one and naturally inherits that
configuration.

Closes gh-12600
7 years ago
Stephane Nicoll d6244889f5 Add default value for "spring.flyway.locations"
See gh-12193
7 years ago
Stephane Nicoll 78571f50f8 Restore server.error.include-stacktrace default value 7 years ago
Brian Clozel 161ecc0575 Bind server.error.whitelabel.enabled to ErrorProperties
Closes gh-12516
7 years ago
Stephane Nicoll 09ff815f00 Harmonize metadata
Closes gh-12177
7 years ago
Phillip Webb 46021928ba Rework common server customization
Update the configurable embedded web server factory interfaces to
extend `ConfigurableWebServerFactory` so that the can be used in a
`WebServerFactoryCustomizer`.

Extract server specific customization to their own auto-configuration
and align reactive/servlet server auto-configuration.

Closes gh-8573
7 years ago
Stephane Nicoll ce01a9145b Polish 7 years ago
Stephane Nicoll 20f104766b Add missing default values for enums 7 years ago
Andy Wilkinson fe4c8f95ed Rename ReactiveWebServerAutoConfiguration
Closes gh-12086
7 years ago
Brian Clozel 0c1aac14a0 Move server.display-name configuration property
The `server.display-name` configuration property is used to configure
the application display name for Servlet-based applications.

This commit moves that property to:
`server.servlet.application-display-name` and keeps the same defaults.

Closes gh-8624
7 years ago
Madhura Bhave 0a446cb962 Refactor Spring Security auto-configuration classes
The auto-configuration for a `UserDetailsService` and the web bits
has been split into two.

Closes gh-11915
Fixes gh-11891
7 years ago
Andy Wilkinson 9a456924e4 Remove - from path-match and content-negotiation properties
Closes gh-11913
7 years ago
Stephane Nicoll 1106c582a7 Remove error-level metadata for Spring Mobile
While Spring Mobile support has been removed from Spring Boot, the
auto-configuration has been relocated to a separate module that uses
the same keys.

Flagging those keys as deprecated means that the IDE will be confused
when the extra jar is present on the classpath as it advertizes, as
it should, support fo them.

Closes gh-11844
7 years ago
Stephane Nicoll 726a1d075e Polish metadata for spring.flyway.sql-migration-suffix 7 years ago
Madhura Bhave 5e2cc02499 Move servlet specific security auto-config 7 years ago
Stephane Nicoll 40c537daa0 Polish 7 years ago
Brian Clozel 1e648801bd Move spring.mvc.media-types to content-negotiation
This commit moves "spring.mvc.media-types" to the
"spring.mvc.content-negotiation.*" namespaces introduced in gh-11105.

Closes gh-11636
7 years ago
Brian Clozel 22c22a1ced Move server.session.* to server.servlet.session.*
Closes gh-11589
7 years ago
Stephane Nicoll 7566a197b0 Fix type for spring.data.cassandra.contact-points
Closes gh-11354
7 years ago
Stephane Nicoll 2da6675c42 Polish
See gh-10963
7 years ago
Andy Wilkinson 80543250a2 Rework properties for enabling Spring Data repositories
Rather than using two properties to enable or disable reactive and
imperative repositories for a particular store, this commit introduces
a new repository type condition that's backed by a single
spring.data.<store>.repositories.type property. The type can be
auto (automatically enables whatever's available), imperative (enables
imperative repositories), none (enables nothing), or reactive (enables
reactive repositories). The default is auto.

Repositories do not have a reactive option (such as JPA) continue to
have a spring.data.<store>.repositories.enabled property that takes a
boolean value.

Closes gh-11134
7 years ago
Craig Walls 64d02f8bb5 Remove Spring Social starters and auto-configuration
See gh-11117
7 years ago
Stephane Nicoll 0a5f064d39 Improve error metadata for Autoconfigure module 7 years ago
Stephane Nicoll 13ccf45008 Polish
See gh-10884
7 years ago
Stephane Nicoll 59df2909b8 Format 7 years ago
Stephane Nicoll cc2d882d08 Polish
See gh-11090
7 years ago
Phillip Webb d99625fa78 Rename properties that have `-` in their prefix
Rename `reactive-repositories` to `reactiverepositories` and replace
`spring.resources.cache-control` with `spring.resources.cache.control`.

Fixes gh-11090
7 years ago
Phillip Webb e82913dd5a Align appendix edits with source code
Port editing changes from append to java source files to ensure that
IDE meta-data also reflects the improvements.

Closes gh-10870
7 years ago
Phillip Webb 8f4bf233b4 Update configuration properties to use Duration
Update appropriate configuration properties to use the `Duration`
type, rather than an ad-hoc mix of milliseconds or seconds.

Configuration properties can now be defined in a consistent and readable
way. For example `server.session.timeout=5m`.

Properties that were previously declared using seconds are annotated
with `@DurationUnit` to ensure a smooth upgrade experience. For example
`server.session.timeout=20` continues to mean 20 seconds.

Fixes gh-11080
7 years ago
Alex Derkach 568cd6472b Add support for reactive Spring Data Couchbase
See gh-10812
7 years ago
Stephane Nicoll dac7d9c174 Rename AutoConfigurationReportLoggingInitializer to ConditionEvaluationReportLoggingListener
Closes gh-2945
7 years ago
Andy Wilkinson 2ae4678b1e Drop support for Spring Mobile
Closes gh-10884
7 years ago
Stephane Nicoll 74677629ff Remove handling of spring.git.properties
Closes gh-10857
7 years ago
Stephane Nicoll 654cee5a94 Polish 7 years ago
Stephane Nicoll 822ca00001 Merge branch '1.5.x' 7 years ago
Andy Wilkinson 5aa66305a8 Log warning when open-in-view is implicitly enabled for JPA or Neo4j
Closes gh-7107
7 years ago
Stephane Nicoll dbb1e222ab Initialize only an embedded datasource by default
This commit renames spring.datasource.initialize to
spring.datasource.initialization-mode and use the
DataSourceInitializationMode enum. By default, only an embedded
datasource is initialized.

Closes gh-10773
7 years ago
Stephane Nicoll 2b69e3c6d5 Fix metadata of spring.mustache.suffix
Closes gh-10752
7 years ago
Brian Clozel 68db43cf44 Support error conventions in Spring WebFlux
This commit adds support for Spring Boot error conventions with WebFlux.
The Spring MVC support for that is based on an `Controller` that's
mapped on a specific `"/error"` path and configured as an error page in
the Servlet container. With WebFlux, this support leverages a
`WebExceptionHandler`, which catches exceptions flowing through the
reactive pipeline and handles them.

The `DefaultErrorWebExceptionHandler` supports the following:
* return a JSON error response to machine clients
* return error HTML views (templates, static or default HTML view)

One can customize the error information by contributing an
`ErrorAttributes` bean to the application context.

Spring Boot provides an `ErrorWebExceptionHandler` marker interface and a
base implementation that provides high level constructs to handle
errors, based on the Spring WebFlux functional flavor.
The error handling logic can be completely changed by providing a custom
`RouterFunction` there.

Fixes gh-8625
7 years ago
Phillip Webb 0ba4830b4f Relocate projects to spring-boot-project
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`
  - `spring-boot-docs`

See gh-9316
7 years ago