1137 Commits

Author SHA1 Message Date
Stéphane Nicoll
3651ff87cd Reinstate auto-configuration support for embedded ActiveMQ
This commit restores auto-configuration for using an Embedded broker
with ActiveMQ classic.

Contrary to its 2.7.x version, "spring-boot-starter-activemq" no longer
adds the broker for consistency with Artemis, and to keep the existing
3.x behavior. Rather than "inMemory", a "s.a.embedded.enabled"
property has been reintroduced that matches the name used by Artemis.

The documentation has been updated to mention that the broker
dependency must be added to use it.

Closes gh-38404
2024-09-06 11:34:35 +02:00
Scott Frederick
e7faca3bbb Add support for Testcontainer Redis
Add support for the official `com.redis:testcontainers-redis` container.

See gh-41450
2024-08-29 19:23:40 -07:00
Andy Wilkinson
4b0b5c263d Ensure that building test apps produces Java 17 bytecode
See gh-41980
2024-08-23 15:11:55 +01:00
Andy Wilkinson
4258953190 Ensure that building the SNI test apps produces Java 17 bytecode
See gh-41980
2024-08-23 14:56:20 +01:00
Andy Wilkinson
d756bf4e86 Upgrade build to Gradle 8.10
Closes gh-41980
2024-08-23 12:41:05 +01:00
Andy Wilkinson
73f71d5560 Rework Cloud Foundry actuator support behind a pluggable abstraction
Deprecate `EndpointExposure.CLOUD_FOUNDRY` and introduce an alternative
implementation based on a pluggable abstraction.

The new `EndpointExposureOutcomeContributor` interface may now be used
to influence `@OnAvailableEndpointCondition` exposure results. Several
infrastructure beans that previously used the condition have been
refactored to always be registered, but tolerate missing endpoints.

A new smoke test application has been added that demonstrates how the
abstraction can be used by a third-party.

Closes gh-41135

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-08-20 16:22:56 -07:00
Moritz Halbritter
25c76957e5 Automatically disable banner when using structured logging
Closes gh-41659
2024-08-20 15:15:27 +02:00
Phillip Webb
450e31b42e Merge branch '3.3.x' 2024-08-19 16:47:31 -07:00
Phillip Webb
1d337b7c76 Merge branch '3.2.x' into 3.3.x 2024-08-19 16:46:51 -07:00
Phillip Webb
f1987e6f8b Update copyright year of changed files 2024-08-19 16:45:34 -07:00
Moritz Halbritter
fd1472784e Polish "Add SslInfoContributor and SslHealthIndicator"
See gh-41205
2024-08-19 10:41:29 +02:00
Jonatan Ivanov
5e3796e814 Add SslInfoContributor and SslHealthIndicator
See gh-41205
2024-08-19 10:00:00 +02:00
Moritz Halbritter
46150bae89 Merge branch '3.3.x'
Closes gh-41858
2024-08-14 17:20:59 +02:00
Moritz Halbritter
2a84fe5760 Merge branch '3.2.x' into 3.3.x
Closes gh-41857
2024-08-14 16:47:52 +02:00
Moritz Halbritter
1d45016d8c Upgrade to spring-javaformat 0.0.43
Closes gh-41853
2024-08-14 16:32:41 +02:00
Stéphane Nicoll
9fa0d3d8c7 Merge branch '3.3.x' 2024-08-13 10:19:47 +02:00
Stéphane Nicoll
ff4b39a096 Merge branch '3.2.x' into 3.3.x 2024-08-13 10:19:39 +02:00
Stéphane Nicoll
68ce174980 Adapt LoaderIntegrationTests to Java 23
See gh-41698
2024-08-13 10:18:37 +02:00
Stéphane Nicoll
607627fce6 Adapt to deprecation in Spring Pulsar snapshots 2024-08-13 08:23:10 +02:00
Stéphane Nicoll
a6567c7d47 Disable Infinispan tests on Java 23
Infinispan 14 does not work on Java 23, an upgrade to 15 is required.
This commit therefore disables those tests when running against a Java
version higher than 22.

Unfortunately, the version of JUnit that we use has no value for Java
23, so we have to use OTHER for that purpose.
2024-08-07 17:32:52 +02:00
Moritz Halbritter
f4b4f4f0bf Make PID and application version available in the environment
Adds the following new properties:

- spring.application.pid
- spring.application.version

Refactors the ResourceBanner and the structured logging support to use
the new properties.

Closes gh-41604
2024-08-01 15:03:41 +02:00
Andy Wilkinson
e201b94d4f Merge branch '3.3.x'
Closes gh-41616
2024-07-25 16:17:52 +01:00
Andy Wilkinson
c642f6d268 Merge branch '3.2.x' into 3.3.x
Closes gh-41613
2024-07-25 16:16:35 +01:00
Phillip Webb
de3b14f2b4 Refine structured logging
Refine structured logging to support `Environment`, `ApplicationPid` and
`ElasticCommonSchemaService` injection. With these updates we are able
to remove the `ApplicationMetadata` class and simplify the parameters
passed to the layout/encoder classes.

Closes gh-41491
2024-07-24 19:06:07 +01:00
Moritz Halbritter
bf2950c045 Add support for structured logging
Update Logback and Log4j2 integrations to support structured logging.
Support for the ECS and Logstash JSON formats is provided out-of-the-box
and the `StructuredLogFormatter` interface may be used to if further
custom formats need to be supported.

Closes gh-5479

Co-authored-by: Phillip Webb <phil.webb@broadcom.com>
2024-07-15 11:45:41 +01:00
Phillip Webb
5d4a777d27 Align test with upstream Spring Security change
Closes gh-41488
2024-07-15 06:53:09 +01:00
Andy Wilkinson
cddf92e047 Polish "Deprecate @MockBean and @SpyBean"
See gh-39864
2024-07-12 13:49:11 +01:00
Jakob Wanger
24763940a0 Deprecate @MockBean and @SpyBean
- Deprecate Deprecate @MockBean and @SpyBean in favor of Spring
  Framework 6.2's @MockitoBean and @MockitoSpy
- Migrate usages of @MockBean and @SpyBean to @MockitoBean and
  @MockitoSpy

Signed-off-by: Jakob Wanger <jakobwanger@gmail.com>

See gh-39864
2024-07-12 12:18:01 +01:00
Phillip Webb
c3ad8b0521 Add APPLICATION_NAME and APPLICATION_GROUP logging properties
Add `APPLICATION_NAME` and `APPLICATION_GROUP` properties that contain
verbatim values rather than formatted strings. Formatting of the values
is now handled by new `EnclosedInSquareBracketsConverter` classes for
both Logback and Log4J2.

The existing `LOGGED_APPLICATION_NAME` variable is now considered
deprecated. The `LOGGED_APPLICATION_GROUP` variable and related
logback converter have been removed since they never made it to a GA
release.

Closes gh-41444
2024-07-11 10:25:01 -07:00
Andy Wilkinson
d07fe47102 Merge branch '3.3.x'
Closes gh-41447
2024-07-11 13:09:26 +01:00
Andy Wilkinson
784c8d2df4 Avoid duplicate junit-platform.properties files caused by Kafka
Gradle doesn't support excluding a dependency that's declared with a
classifier. Instead, this commit replaces the test-qualified
kafka-server-common dependency with the plain dependency. The plain
dependency was already present so this is equivalent to excluding
the test-qualified dependency.

Closes gh-41446
2024-07-11 13:08:58 +01:00
Stéphane Nicoll
156237227c Migrate MockMvc tests to MockMvcTester
See gh-41198
2024-07-03 15:09:10 +02:00
Moritz Halbritter
de001f5af1 Polish "Add standardized property to distinguish a group of applications"
See gh-39957
2024-07-03 11:54:49 +02:00
Jakob Wanger
8ddb77f628 Add standardized property to distinguish a group of applications
This adds a property to provide some indicator that a set of
applications are part of a larger "business application" so that they
can be viewed in metrics, portals, traces and more.

See gh-39957
2024-07-03 11:06:46 +02:00
Andy Wilkinson
5b7365b63b Merge branch '3.3.x'
Closes gh-41258
2024-06-27 10:25:32 +01:00
Andy Wilkinson
b0d4f1d356 Merge branch '3.2.x' into 3.3.x
Closes gh-41257
2024-06-27 10:16:36 +01:00
Andy Wilkinson
654016af7f Move Docker-related test support into a separate module
See gh-41228
2024-06-26 19:47:35 +01:00
Andy Wilkinson
fda6f19c5b Update spring-boot-smoke-test-session-webflux-redis to use docker-test plugin
See gh-41228
2024-06-26 19:47:32 +01:00
Andy Wilkinson
5e332b8785 Update spring-boot-smoke-test-session-webflux-mongo to use docker-test plugin
See gh-41228
2024-06-26 19:47:28 +01:00
Andy Wilkinson
2890067e3a Update spring-boot-smoke-test-session-redis to use docker-test plugin
See gh-41228
2024-06-26 19:47:25 +01:00
Andy Wilkinson
b3f3501e2b Update spring-boot-smoke-test-session-mongo to use docker-test plugin
See gh-41228
2024-06-26 19:47:22 +01:00
Andy Wilkinson
da28e03670 Update spring-boot-smoke-test-pulsar to use docker-test plugin
See gh-41228
2024-06-26 19:47:19 +01:00
Andy Wilkinson
bc57d30a1f Update spring-boot-smoke-test-kafka to use docker-test plugin
See gh-41228
2024-06-26 19:47:15 +01:00
Andy Wilkinson
957e73044b Update spring-boot-smoke-test-data-redis to use docker-test plugin
See gh-41228
2024-06-26 19:47:12 +01:00
Andy Wilkinson
9662bec9c7 Update spring-boot-smoke-test-data-r2dbc-liquibase to use docker-test plugin
See gh-41228
2024-06-26 19:47:08 +01:00
Andy Wilkinson
b52023966b Update spring-boot-smoke-test-data-r2dbc-flyway to use docker-test plugin
See gh-41228
2024-06-26 19:47:04 +01:00
Andy Wilkinson
0d2d3e7d71 Update spring-boot-smoke-test-data-mongo to use docker-test plugin
See gh-41228
2024-06-26 19:47:01 +01:00
Andy Wilkinson
28396b1ff3 Update spring-boot-smoke-test-data-couchbase to use docker-test plugin
See gh-41228
2024-06-26 19:46:58 +01:00
Andy Wilkinson
a9be2e50e3 Update spring-boot-smoke-test-data-cassandra to use docker-test plugin
See gh-41228
2024-06-26 19:46:54 +01:00
Andy Wilkinson
ccb0b2910f Update spring-boot-smoke-test-cache to use docker-test plugin
See gh-41228
2024-06-26 19:46:51 +01:00