Commit Graph

12837 Commits (6ad100eae618cf6fde2e43fb5b39ad1fdb668988)

Author SHA1 Message Date
Phillip Webb 6ad100eae6 Short circuit already covered property sources
Add an alternative `PropertySourcesPropertyResolver` that can short
circuit resolution of properties that are already covered by the
`ConfigurationPropertySourcesPropertySource`.

Prior to this commit, calling `getProperty` or `containsProperty` on an
`Environment` that has `ConfigurationPropertySources` attached could
result in two identical calls to the underlying source. The first call
would be via the adapted source, and the second would be direct. Since
we can now plug-in a custom `PropertySourcesPropertyResolver` to the
`Environment`, we can optimize resolution so that calls happen only
once.

Closes gh-17400
4 years ago
Phillip Webb 1d302f4c63 Add customer Application Environment subclasses
Add custom `ApplicationEnvironment`, `ApplicationServletEnvironment`
and `ApplicationReactiveWebEnvironment` subclasses for use with
`SpringApplication`. The subclasses all disable the resolution of
active and default profiles using properties since this is handled
directly by the `ConfigDataEnvironmentPostProcessor`.

Closes gh-24892
See gh-24890
4 years ago
Phillip Webb d938dd97bf Add with/without methods to ConfigData.Options
Add convenience methods to ConfigData.Options to allow new Options
instances to be created with options excluded or included.

See gh-25766
4 years ago
Scott Frederick 86303c017b Merge branch '2.4.x'
Closes gh-25938
4 years ago
Scott Frederick 9108b81bb2 Merge branch '2.3.x' into 2.4.x
Closes gh-25937
4 years ago
Scott Frederick 0ad7f76263 Preserve file permissions in images built by Gradle
This commit copies the file mode along with other attributes when
copying files from the source archive to the build container while
building an image using the Gradle plugin. This preserves file
permissions on any resources included in the source archive.

Fixes gh-25915
4 years ago
Brian Clozel 0929048bb4 Link build tools docs version properties section
Closes gh-25935
4 years ago
Stephane Nicoll 5aa1e683c0 Start building against Spring Session 2020.0.4 snapshots
See gh-25912
4 years ago
Stephane Nicoll 0f53663cf6 Start building against Spring Security 5.4.6 snapshots
See gh-25911
4 years ago
Stephane Nicoll aa8f5433ee Start building against Spring Data 2020.0.8 snapshots
See gh-25910
4 years ago
Stephane Nicoll f1b2db03e0 Start building against Spring Framework 5.3.6 snapshots
See gh-25909
4 years ago
Brian Clozel b4d2207902 Merge branch '2.4.x'
Closes gh-25936
4 years ago
Brian Clozel a0ee0601ef Fix SSL configuration with Reactor Netty
Prior to this commit, the SslServerCustomizer would use a Reactor Netty
API that lets users customize the SSL configuration, but later override
some of the choices with defaults.

This commits moves from the new deprecated Reactor Netty API and instead
uses a new variant that builds the defaults and lets developers override
them if they want to.

Fixes gh-25913
4 years ago
Stephane Nicoll b52902e92a Merge branch '2.4.x'
Closes gh-25923
4 years ago
Stephane Nicoll c6205f10f1 Merge branch '2.3.x' into 2.4.x
Closes gh-25922
4 years ago
Stephane Nicoll 25b7495d8e Polish "Properly close input streams when loading key stores"
See gh-25884
4 years ago
Alex Belyaev 1e3f5c342b Properly close input streams when loading key stores
See gh-25884
4 years ago
Phillip Webb e4164d0143 Fix package tangle in endpoint package
Fix package tangle in the actuator endpoint package by relocating a
few classes.

The `Producible` and `ProducibleOperationArgumentResolver` classes have
been moved from `endpoint.annotation` to `endpoint` since they aren't
directly tied to annotations.

The `ApiVersion` class has been moved from `endpoint.http` to
`endpoint` since it needs to implement `Producible` and isn't really
tied to HTTP.

Closes gh-25914
4 years ago
Phillip Webb e766c8b3a7 Revert "Switch default MVC path matching strategy"
This reverts commit ab8e599cfe.

See gh-24805
4 years ago
Phillip Webb ab8e599cfe Switch default MVC path matching strategy
Change the default `spring.mvc.pathmatch.matching-strategy` to
`PATH_PATTERN_PARSER`.

Closes gh-24805
4 years ago
Phillip Webb 455864bfa0 Allow 'servet.path' with path pattern parser
Remove the restriction previously prevented `spring.mvc.servlet.path`
from being combined with a `spring.mvc.pathmatch.matching-strategy`
of `PATH_PATTERN_PARSER`. Spring Framework supports this combination
as of v5.3.4.

See gh-24805
4 years ago
Stephane Nicoll 2a60503849 Start building against Spring Session Dragonfruit-SR3 snapshots
See gh-25907
4 years ago
Stephane Nicoll e4bf730f0b Start building against Spring Security 5.3.9 snapshots
See gh-25906
4 years ago
Stephane Nicoll b12a725977 Start building against Spring Data Neumann-SR9 snapshots
See gh-25905
4 years ago
Stephane Nicoll 80e893ebae Upgrade to Spring HATEOAS 1.1.5
Closes gh-25904
4 years ago
Stephane Nicoll aab5859fde Start building against Spring Framework 5.2.14 snapshots
See gh-25903
4 years ago
Stephane Nicoll ac1117f1a1 Start building against Reactor Reactor Dysprosium-SR19
See gh-25902
4 years ago
Andy Wilkinson 4d31182123 Polish "Add detection of Azure App Service to CloudPlatform"
See gh-25829
4 years ago
Julien Dubois 98a1017ee7 Add detection of Azure App Service to CloudPlatform
See gh-25829
4 years ago
Andy Wilkinson 8b5f914ba5 Revert "Merge branch '2.4.x'"
This reverts commit 97b26b4886, reversing
changes made to 6f9b1ed6a3.

See gh-25840
4 years ago
Andy Wilkinson e9ce20dbf4 Revert "Merge branch '2.3.x' into 2.4.x"
This reverts commit 586ce00e06, reversing
changes made to 563b8a8cec.

See gh-25839
4 years ago
Andy Wilkinson b35d1ec6e8 Revert "Use test harness for image building integration tests"
This reverts commit da9d8d6055.

See gh-25838
4 years ago
Phillip Webb 72ccab0aad Fix WebSessionManager auto-configuration order
Auto-configure `SessionAutoConfiguration` before
`WebFluxAutoConfiguration` to ensure that the correct
`WebSessionManager` bean is created.

See gh-20970
4 years ago
Phillip Webb 807ea1af0d Update copyright year of changed files 4 years ago
Phillip Webb 4b05dbf4a2 Polish 4 years ago
Andy Wilkinson 1994219399 Polish "Add config props for keep-alive timeout and max keep-alive reqs"
See gh-25815
4 years ago
Parviz Rozikov 34b94d8898 Add config props for keep-alive timeout and max keep-alive reqs
See gh-25815
4 years ago
Brian Clozel dc6b5badb8 Add SameSite session cookie config property for WebFlux
This commit adds a new `spring.webflux.session.cookie.same-site`
confuguration property that sets the default value for the "SameSite"
attribute in the WebFlux session cookies.

Closes gh-20970
4 years ago
Andy Wilkinson 73e1dd8728 Polish "Auto-configure Mongo metrics"
See gh-23990
4 years ago
bono007 81c18214d1 Auto-configure Mongo metrics
See gh-23990
4 years ago
Andy Wilkinson ef986b13e5 Polish Quartz endpoint documentation
See gh-10364
4 years ago
Stephane Nicoll b11602aeaa Polish "Add Quartz actuator endpoint"
This commit reworks the initial proposal so that jobs and triggers are
treated as first class concepts.

`/actuator/quartz` now returns the group names for jobs and triggers.

`actuator/quartz/jobs` returns the job names, keyed by the available
group names, while `/actuator/quartz/triggers` does the same for
triggers.

`/actuator/jobs/{groupName}` provides an overview of a job group. It
provides a map of job names with the class name of the job.
implementation

`/actuator/triggers/{groupName}` provides an overview of a trigger
group. There are five supported trigger implementations: cron, simple,
daily time interval, calendar interval, and custom for any other
implementation. Given that each implementation has specific settings,
triggers are split in five objects.

`/actuator/jobs/{groupName}/{jobName}` provides the full details of a
particular job. This includes a sanitized data map and a list of
triggers ordered by next fire time.

`/actuator/triggers/{groupName}/{triggerName}` provides the full details
of a particular trigger. This includes the state, its type, and a
dedicate object containing implementation-specific settings.

See gh-10364
4 years ago
Vedran Pavic 9795061360 Add Quartz actuator endpoint
See gh-10364
4 years ago
Andy Wilkinson 095ff18854 Test our Gradle plugin against Gradle 7.0-rc-2
Closes gh-25888
4 years ago
Phillip Webb a99f78c62f Merge branch '2.4.x' 4 years ago
Phillip Webb 8a04547454 Fix checkstyle violation
See gh-25766
4 years ago
Phillip Webb c6cd5117d4 Merge branch '2.4.x'
Closes gh-25887
4 years ago
Phillip Webb 5774ea3f0c Support profile specific ConfigData imports
Update the `ConfigData` import support to allow individual property
sources to be imported with a higher precedence than profile specific
imports.

Prior to this commit, imported sources would always have a higher
precedence than the file that imported them, but a lower precedence
than any profile-specific variant of the same file.

For example, given an `application.properties` that imports `myconfig`,
the contributor tree would be as follows:

	ROOT
	 +- `application.properties`
	 |    +- myconfig
	 +- `application-<profile>.properties`

The precedence would be:

	1) `application-<profile>.properties`
	2) myconfig
	3) `application.properties`

This works well for most situations, but can be confusing if import is
for a profile-specific property source. For example:

	ROOT
	 +- `application.properties`
	 |    +- myconfig
	 |    +- myconfig-<profile>
	 +- `application-<profile>.properties`

Results in the order precedence of:

	1) `application-<profile>.properties`
	2) myconfig-<profile>
	3) myconfig
	4) `application.properties`

This means that whilst `myconfig` overrides `application.properties`,
`myconfig-profile` does not override `application-<profile>.properties`.

For this specific situation, the preferable order would be:

	1) myconfig-<profile>
	2) `application-<profile>.properties`
	3) myconfig
	4) `application.properties`

To support this alternative ordering a new `PROFILE_SPECIFIC` config
data option has been added. Additionally, options may now be specified
on a per-source basis by using the `PropertySourceOptions` interface.

Fixes gh-25766
4 years ago
Stephane Nicoll d578e20b2d Merge branch '2.4.x'
Closes gh-25883
4 years ago
Tommy Ludwig 3746385f98 Polish HealthIndicators table in docs
`=======` was showing up in the header of the table, which should not
be there.

See gh-25882
4 years ago