Commit Graph

1024 Commits

Author SHA1 Message Date
Phillip Webb 062b544447 Upgrade to Ubuntu Jammy 20231004
Closes gh-37957
2023-10-18 21:19:51 -07:00
Phillip Webb 55968ef995 Upgrade to Ubuntu Jammy 20231004
Closes gh-37949
2023-10-18 21:17:24 -07:00
Phillip Webb 812023a84b Upgrade to Ubuntu Jammy 20231004
Closes gh-37952
2023-10-18 21:13:42 -07:00
Phillip Webb c7d6fbcb3a Upgrade to Ubuntu Jammy 20231004
See gh-37954
2023-10-18 21:10:00 -07:00
Phillip Webb 3c62defb9d Support java.nio.file Paths and FileSystems with nested jars
Add a `NestedFileSystemProvider` implementation so that the JDK's
`ZipFileSystem` can load content from nested jars and nested
directory entries.

Creating a `ZipFileSystem` may be a relatively expensive operation as
zip structures need to be parsed and in the case of directory entries
a virtual datablock nees to be generated on the fly. As such, we
install the `ZipFileSystem` as late as possible since in a typical
application it may never be needed.

This commit also tweaks Gradle and Maven plugins to ensure that the
service loader file is written to repackaged jars.

Closes gh-7161
2023-10-18 20:46:36 -07:00
Phillip Webb 33c5e1269a Write signature files to uber jars to for Oracle Java 17 verification
Update Gradle and Maven plugins to write an empty `META-INF/BOOT.SF`
file whenever there is a nested signed jar.

This update allows Oracle Java 17 to correctly verify the nested JARs.
The file is required because `JarVerifier` has code roughly equivalent
to:

	if (!jarManifestNameChecked && SharedSecrets
			.getJavaUtilZipFileAccess().getManifestName(jf, true) == null) {
    	throw new JarException("The JCE Provider " + jarURL.toString() +
    		" is not signed.");
	}

The `SharedSecrets.getJavaUtilZipFileAccess().getManifestName(jf, true)`
call ends up in `ZipFile.getManifestName(onlyIfSignatureRelatedFiles)`
which is a private method that we cannot override in our `NestedJarFile`
subclass. By writing an empty `.SF` file we ensure that the `Manifest`
is always returned because there are always "signature related files".

Fixes gh-28837
2023-10-16 16:19:16 -07:00
Scott Frederick 5556739c8c Add SSL bundle support to Rabbit auto-configuration 2023-10-11 15:39:51 -05:00
Phillip Webb 927ece3bfc Merge branch '3.1.x' 2023-10-10 12:31:44 -07:00
Phillip Webb 01128465ff Merge branch '3.0.x' into 3.1.x 2023-10-10 12:31:28 -07:00
Phillip Webb 885189a1b4 Merge branch '2.7.x' into 3.0.x 2023-10-10 12:30:11 -07:00
Phillip Webb f04d354c29 Attempt to fix download cache on CI
See gh-37450
2023-10-10 11:46:20 -07:00
Andy Wilkinson 48059417b5 Upgrade to Kafka 3.6.0
Closes gh-37777
2023-10-09 13:46:52 +01:00
Phillip Webb 6c24ea01f1 Add BouncyCastle nested jar verification test including on Oracle JDK
Update `spring-boot-loader-tests` with a test that checks verified
BouncyCastle jars can be loaded. Currently the Oracle JDK only supports
verification if the jar is unpacked.

See gh-28837
2023-10-05 22:13:31 -07:00
Phillip Webb 79d2208908 Merge branch '3.1.x' 2023-10-05 22:10:34 -07:00
Phillip Webb 1b1c1f1b64 Merge branch '3.0.x' into 3.1.x 2023-10-05 22:10:22 -07:00
Phillip Webb 3c31a6fc3b Merge branch '2.7.x' into 3.0.x 2023-10-05 22:10:14 -07:00
Phillip Webb c37290bc6c Fix Oracle JDK download URL
See gh-37450
2023-10-05 22:09:45 -07:00
Phillip Webb b0b3adb1b7 Merge branch '3.1.x'
Closes gh-37741
2023-10-05 21:30:43 -07:00
Phillip Webb 2a35667295 Merge branch '3.0.x' into 3.1.x
Closes gh-37740
2023-10-05 21:30:10 -07:00
Phillip Webb 30af19acc2 Merge branch '2.7.x' into 3.0.x
Closes gh-37739
2023-10-05 20:54:09 -07:00
Phillip Webb a33ce9d405 Cache JDK downloads for tests that use ImageFromDockerfile
Update `spring-boot-launch-script-tests` and `spring-boot-loader-tests`
so that JDK archives are now downloaded by Gradle and cached across
builds.

Closes gh-37450
2023-10-05 20:49:02 -07:00
Phillip Webb 55b5610dd9 Add Maven and Gradle option for the loader implementation to use
Add properties to the Maven and Gradle plugins so that users can
switch between the two loader modules.

See gh-37669
2023-10-03 15:40:42 -07:00
Phillip Webb a89057b7c7 Reintroduce spring-boot-loader modules
Restore the `spring-boot-loader` with the previous loader code so
that we can develop it further.

See gh-37669
2023-10-03 15:40:25 -07:00
Phillip Webb aeb6537f57 Rename spring-boot-loader to spring-boot-loader-classic
Rename the `spring-boot-loader` module to `spring-boot-loader-classic`
so that we can introduce an alternative loader implementation.

See gh-37669
2023-10-03 15:40:04 -07:00
Phillip Webb c22548982a Relocate launcher classes
Create alternative launcher classes under the package
`org.springframework.boot.loader.launch` and use them in favor
of the previous location.

This update is designed to improve compatibility with future
changes in the loader.

Closes gh-37667
2023-10-03 14:53:04 -07:00
Phillip Webb 3d6859e80f Use the term "uber jar" in reference documentation and javadoc
Update reference documentation and javadoc to use the term "uber jar"
rather than "fat jar".

Closes gh-37653
2023-10-02 23:01:34 -07:00
Phillip Webb 780f75d5a2 Polish 2023-10-02 23:01:21 -07:00
Phillip Webb e3036dcb99 Merge branch '3.1.x'
Closes gh-37658
2023-10-02 23:00:15 -07:00
Phillip Webb 904bd52260 Merge branch '3.0.x' into 3.1.x
Closes gh-37657
2023-10-02 22:59:57 -07:00
Phillip Webb 7bb60fc7c7 Merge branch '2.7.x' into 3.0.x
Closes gh-37656
2023-10-02 22:59:45 -07:00
Phillip Webb ed4ab667a1 Enable LoaderIntegrationTests on aarch64
Closes gh-37654
2023-10-02 22:42:21 -07:00
Moritz Halbritter a7373c182a Merge branch '3.1.x'
Closes gh-37523
2023-09-22 08:42:18 +02:00
Moritz Halbritter b5ec0c2f5d Merge branch '3.0.x' into 3.1.x
Closes gh-37522
2023-09-22 08:42:08 +02:00
Moritz Halbritter 58941d85f2 Merge branch '2.7.x' into 3.0.x
Closes gh-37521
2023-09-22 08:41:58 +02:00
Moritz Halbritter f96690348f Use Bellsoft JDK 21 in LoaderIntegrationTests
Closes gh-35900
2023-09-22 08:35:22 +02:00
Andy Wilkinson dc9a48030c Merge branch '3.0.x' into 3.1.x 2023-09-13 13:37:41 +01:00
Andy Wilkinson 3eb89343d0 Merge branch '2.7.x' into 3.0.x 2023-09-13 13:37:31 +01:00
Andy Wilkinson c4368bc934 Run LoaderIntegrationTests on Java 21
See gh-37359
2023-09-13 13:36:04 +01:00
Johnny Lim c2b78830ff Polish
See gh-37340
2023-09-13 10:26:54 +02:00
Andy Wilkinson a84e2db285 Merge branch '3.1.x' 2023-09-08 11:47:42 +01:00
Andy Wilkinson c5908811ab Merge branch '3.0.x' into 3.1.x 2023-09-08 11:47:03 +01:00
Andy Wilkinson b29b35905c Merge branch '2.7.x' into 3.0.x 2023-09-08 11:45:46 +01:00
Andy Wilkinson 2656f02001 Fix launch script integration tests on Intel Macs
Closes gh-36799
2023-09-08 11:45:25 +01:00
Andy Wilkinson ed5d16de84 Upgrade to Jetty 12
Closes gh-36073
2023-09-07 13:59:15 +01:00
Phillip Webb 750c597225 Polish 'Add Pulsar ConnectionDetails support'
See gh-37197
2023-09-06 12:18:09 -07:00
Chris Bono 089fef0392 Add Pulsar ConnectionDetails support
Add `ConnectionDetails` support for Apache Pulsar and provide adapters
for Docker Compose and Testcontainers.

See gh-37197
2023-09-06 12:12:25 -07:00
Phillip Webb 9497f3d91c Polish "Combine Pulsar smoke tests"
See gh-37196
2023-09-05 20:42:14 -07:00
Chris Bono eacf92b1b2 Combine Pulsar smoke tests
* Simplify produce/consume verify via OutputCapture

* Remove spring-boot-smoke-test-pulsar-reactive as
  no other smoke tests split them out

See gh-37196
2023-09-05 20:41:43 -07:00
Phillip Webb 2ebcdb059a Tweak Pulsar smoke test timeouts
See gh-34763
2023-09-05 18:46:58 -07:00
Phillip Webb 975cb27905 Protect against concurrent list updates in Pulsar samples
See gh-34763
2023-09-05 18:23:39 -07:00
Chris Bono 6e7b845bdf Add support for Apache Pulsar
Add support for Apache Pulsar using the Spring for Apache Pulsar
project.

See gh-34763

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2023-09-05 17:01:51 -07:00
Moritz Halbritter e532b3b830 Merge branch '3.1.x'
Closes gh-37141
2023-08-30 14:16:32 +02:00
Moritz Halbritter 4a88604a01 Merge branch '3.0.x' into 3.1.x
Closes gh-37140
2023-08-30 14:16:07 +02:00
Moritz Halbritter c749fcb478 Merge branch '2.7.x' into 3.0.x
Closes gh-37139
2023-08-30 14:15:27 +02:00
Moritz Halbritter 0f6342a882 Make JarLaunchScript and SysVinit integration tests ARM64 compatible
Closes gh-36799
2023-08-30 14:01:32 +02:00
Andy Wilkinson bc88a133d3 Merge branch '3.1.x'
Closes gh-36869
2023-08-09 13:44:14 +01:00
Andy Wilkinson fc91a84219 Merge branch '3.0.x' into 3.1.x
Closes gh-36868
2023-08-09 13:44:00 +01:00
Andy Wilkinson 1b7467adc3 Merge branch '2.7.x' into 3.0.x
Closes gh-36867
2023-08-09 13:43:51 +01:00
Andy Wilkinson 1765f4e9cf Ensure that server tests run when test apps have changed
Closes gh-19858
2023-08-09 13:43:24 +01:00
Moritz Halbritter 7bb337aeb1 Polish tests 2023-08-08 13:12:47 +02:00
Stephane Nicoll 191ac10009 Deprecate support for OkHttp
Closes gh-36632
2023-08-01 16:45:13 +02:00
Moritz Halbritter f85a7258a6 Polish SampleAmqpSimpleApplication 2023-07-27 16:32:53 +02:00
Stephane Nicoll 94d9148de6 Merge branch '3.1.x'
Closes gh-36613
2023-07-27 14:55:56 +02:00
Stephane Nicoll 6f22baa729 Merge branch '3.0.x' into 3.1.x
Closes gh-36612
2023-07-27 14:55:29 +02:00
Stephane Nicoll 150526a6a0 Merge branch '2.7.x' into 3.0.x
Closes gh-36611
2023-07-27 14:52:37 +02:00
Stephane Nicoll 87554fb4dc Add test for RabbitMQ smoke test
Closes gh-36610
2023-07-27 14:51:50 +02:00
Johnny Lim 96c9915f12 Polish
See gh-36565
2023-07-26 10:00:56 +02:00
Scott Frederick c600be74ff Merge branch '3.1.x'
Closes gh-36542
2023-07-24 16:06:13 -05:00
Scott Frederick bb4226397a Merge branch '3.0.x' into 3.1.x
Closes gh-36541
2023-07-24 16:05:57 -05:00
Scott Frederick c5d2415834 Merge branch '2.7.x' into 3.0.x
Closes gh-36540
2023-07-24 16:04:28 -05:00
Scott Frederick 90be62bc7a Update Docker images used for launch script tests
Closes gh-24349
2023-07-24 15:46:30 -05:00
Stephane Nicoll 311fa6272d Polish "Add service connection for Testcontainers ActiveMQ"
This also adds support for Docker Compose.

See gh-35080
2023-07-20 13:03:41 +02:00
Eddú Meléndez 63121dd08a Add service connection for Testcontainers ActiveMQ
See gh-35080
2023-07-20 13:03:41 +02:00
Phillip Webb ae6b1f91f6 Merge branch '3.1.x' 2023-07-18 10:32:06 +01:00
Phillip Webb 28b5b7a218 Merge branch '3.0.x' into 3.1.x 2023-07-18 10:32:01 +01:00
Phillip Webb 9d91dbc4e5 Use explicit matchers following Spring Security 6.0.5 upgrade
See gh-36293
2023-07-18 10:31:41 +01:00
Phillip Webb 49f82717d1 Merge branch '3.1.x' 2023-07-18 10:17:17 +01:00
Phillip Webb 30cc2a48c7 Merge branch '3.0.x' into 3.1.x 2023-07-18 10:16:56 +01:00
Phillip Webb 0233178855 Use explicit matchers following Spring Security 6.0.5 upgrade
See gh-36293
2023-07-18 09:49:11 +01:00
Andy Wilkinson c3e2c9d684 Polish "Support Jetty in ClientHttpRequestFactories"
See gh-36116
2023-07-04 17:49:07 +01:00
Johnny Lim 7c77e1bb85 Polish 'Log correlation IDs when Micrometer tracing is being used'
See gh-36158
2023-07-02 20:08:45 +01:00
Andy Wilkinson 6d8ca7286a Merge branch '3.1.x'
Closes gh-36128
2023-06-30 08:26:26 +01:00
Andy Wilkinson a268c6433e Merge branch '3.0.x' into 3.1.x
Closes gh-36127
2023-06-30 08:26:12 +01:00
Andy Wilkinson 93f8bd2170 Merge branch '2.7.x' into 3.0.x
Closes gh-36126
2023-06-30 08:25:53 +01:00
Andy Wilkinson 996252f929 Stop using deprecated classifier property
Closes gh-36125
2023-06-30 08:22:14 +01:00
Andy Wilkinson e8cbb9ae1b Stop using deprecated JavaExec property in spring-boot-smoke-test-ant
Closes gh-36086
2023-06-27 11:17:50 +01:00
Andy Wilkinson dbb24286ff Separate stopping and destruction so web server can be restarted
Previously, when a Servlet-based WebServer was stopped it would also
stop the ServletContext. This led to problems as Tomcat and Undertow
would then not allow a restart. Jetty would allow a restart but
duplicate servlet registrations would then be attempted.

This commit modifies the WebServer lifecycle to separate stopping
and destruction for both servlet and reactive web servers. This
allows a WebServer's stop() implementation to leave some components
running so that they can be restarted. To completely shut down a
WebServer destroy() must now be called.

Both Tomcat and Jetty WebServers have been updated to stop their
network connections when stop() is called but leave other components
running. This works with both servlet and reactive web servers.

Note that an Undertow-based Servlet web server does not support
stop and restart. Once stopped, a Servlet Deployment cannot be
restarted and it does not appear to be possible to separate the
lifecycle of its network connections and a Servlet deployment.

Reactor Netty and Undertow-based reactive web servers can now also
be stopped and then restarted. Calling stop() stops the whole server
but this does not cause a problem as there's no (application-exposed)
ServletContext involved. There may be room to optimize this in the
future if the need arises.

Closes gh-34955
2023-06-26 20:58:59 +01:00
Scott Frederick 47cc65d912 Merge branch '3.1.x'
Closes gh-36056
2023-06-23 16:12:58 -06:00
Scott Frederick c277517953 Polish "Add SslAutoConfiguration to slice test annotations"
See gh-36038
2023-06-23 16:11:49 -06:00
Eddú Meléndez 321c526bf7 Add SslAutoConfiguration to slice test annotations
`SslAutoConfiguration` has been added to `cassandra`, `couchbase`,
`elasticsearch`, `mongo` and `redis` slice test annotations.

See gh-36038
2023-06-23 15:51:42 -06:00
Andy Wilkinson 357c67a999 Merge branch '3.1.x' 2023-06-23 15:58:51 +01:00
Andy Wilkinson 3f7fe25cb9 Merge branch '3.0.x' into 3.1.x
Closes gh-36044
2023-06-23 15:58:36 +01:00
Andy Wilkinson 2fae5de245 Merge branch '2.7.x' into 3.0.x
Closes gh-36043
2023-06-23 15:50:02 +01:00
Andy Wilkinson d2966e1cbf Polish "Replace calls to verifyComplete() to avoid indefinite blocking"
See gh-35915
2023-06-23 12:38:12 +01:00
ThomazPassarelli f9da30faf1 Replace calls to verifyComplete() to avoid indefinite blocking
See gh-35915
2023-06-23 12:16:26 +01:00
Jonatan Ivanov 228b8eb8e4
Polish log correlation docs
Docs related to gh-33280 (log correlation) and
gh-35593 (application name in each log line) need some polishing:
- Fix project names
- Show how to avoid having the application name duplicated in logs
- Call out that a trailing space is needed in the correlation pattern

Closes gh-36035
See gh-33280
See gh-35593
2023-06-22 14:51:02 -07:00
Phillip Webb 493777d3c9 Include the application name on each log line when it is available
Update Logback and Log4J2 so that they include the application name on
each log line. If `spring.application.name` had not been set, or if
`logging.include-application-name` is `false` then the name is not
logged.

Closes gh-35593
2023-06-22 00:40:51 -07:00
Moritz Halbritter 23979e6ccf Enable LoaderIntegrationTests on Java 21 2023-06-15 10:13:19 +02:00
Andy Wilkinson 9b88128e3b Merge branch '3.0.x' into 3.1.x 2023-06-14 18:19:53 +01:00
Andy Wilkinson 4694e20628 Merge branch '2.7.x' into 3.0.x 2023-06-14 18:19:43 +01:00