Phillip Webb
5da31aca46
Attempt to fix NestedJarFile file lock issues on Windows
...
Update `NestedJarFile.close()` to call `super.close()` so that the outer
jar file is closed and files can hopefully be deleted on Windows.
See gh-37668
2023-10-06 21:47:55 -07:00
Phillip Webb
1f5472387d
Fix formatting
2023-10-03 20:41:48 -07:00
Phillip Webb
42f50fa292
Attempt to fix CI failures
...
Attempt to fix CI failures caused by timezone differences and different
JDK versions.
See gh-37668
2023-10-03 20:29:33 -07:00
Phillip Webb
7ad4a9817d
Rewrite nested jar support code and remove Java 8 support
...
Rewrite nested jar code to better align with the implementations
provided in Java 17. This update makes two fundamental changes to
the previous implementation:
- Resource cleanup is now handled using the `java.lang.ref.Cleaner`
- Jar URLs now use the form `jar:nested:/my.jar/!nested.jar!/entry`
Unlike the previous `jar🫙 /my,jar!/nested.jar!/entry` URL format,
the new format is compatible with Java's default Jar URL handler.
Specifically, it now only uses a single `jar:` prefix and it no longer
includes multiple `!/` separators.
In addition to the changes above, many of the ancillary classes have
also been refactored and updated to create cleaner APIs.
Closes gh-37668
2023-10-03 17:27:57 -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
8edec21a6f
Update copyright year of changed files
2023-08-13 20:44:44 -07:00
Moritz Halbritter
7bb337aeb1
Polish tests
2023-08-08 13:12:47 +02:00
Moritz Halbritter
1a8b8ce26e
Revert "Revise synchronized blocks"
...
This reverts commit 497bbf9c2d0fafa49e5e9e2688fcc8000d9f5675.
2023-08-03 17:26:31 +02:00
Moritz Halbritter
497bbf9c2d
Revise synchronized blocks
...
- Replace synchronized with Lock when guarding long-running operations
- Remove unnecessary synchronization in FileSystemWatcher
- Replace HashMap with ConcurrentHashMap in Restarter
- Remove unnecessary locking on AtomicBoolean in
SpringApplicationBuilder
- Remove unnecessary locking in SimpleFormatter
Closes gh-36670
2023-08-03 09:23:46 +02:00
Phillip Webb
d442bfbeff
Polish
2023-04-10 16:22:11 -07:00
Phillip Webb
c4de86c244
Merge branch '2.7.x' into 3.0.x
2023-02-21 23:17:57 -08:00
Phillip Webb
df5898a146
Reformat code following spring-javaformat upgrade
2023-02-21 22:53:27 -08:00
Krzysztof Krason
6e46423983
Use diamond operators
...
See gh-33987
2023-01-26 20:35:08 -08:00
Phillip Webb
71efc55bf9
Merge branch '2.7.x'
2023-01-18 16:31:53 -08:00
Phillip Webb
7c508fa324
Update copyright year of changed files
2023-01-18 15:37:58 -08:00
Moritz Halbritter
94f4a4396c
Merge branch '2.7.x'
...
Closes gh-33880
2023-01-18 17:35:52 +01:00
Moritz Halbritter
e8d809fe65
Replace 'via' with 'over' or 'through' in the documentation
...
Closes gh-33878
2023-01-18 16:56:42 +01:00
Phillip Webb
a2ac38e203
Update copyright year of changed files
2023-01-09 15:46:07 -08:00
Krzysztof Krason
cf6493f65c
Simplify AssertJ assertions and also make them more readable
...
See gh-33653
2023-01-09 11:10:20 +01:00
Phillip Webb
f588793445
Update copyright year of changed files
2022-12-22 01:00:42 -08:00
Moritz Halbritter
f36e2ecb7b
Use AutoClosables with try-with-resources
...
Closes gh-33538
2022-12-16 15:43:15 +01:00
Moritz Halbritter
725337f976
Make fields final
...
Closes gh-33537
2022-12-16 14:28:44 +01:00
Phillip Webb
45ce096b6b
Replace our TestCompiler with Spring Framework's version
...
Replace the last use of our `TestCompiler` with Spring Framework's
version.
See gh-31266
2022-10-18 11:39:03 -07:00
Phillip Webb
e0b67889a8
Use Stream.toList instead of Stream.collect when possible
...
Update code to make use of `Stream.toList()` whenever possible.
Closes gh-28177
2022-10-04 00:29:22 -07:00
Scott Frederick
d25a99692f
Replace Spring Boot TestCompiler with Spring Framework's version
...
See gh-31266
2022-09-30 15:58:11 -05:00
Andy Wilkinson
51df7813a5
Remove code deprecated in 2.x and add since and forRemoval attributes
...
Closes gh-32548
Closes gh-32549
2022-09-30 14:39:05 +01:00
Phillip Webb
46be4a3f30
Merge branch '2.7.x'
2022-09-08 19:38:18 -07:00
Phillip Webb
e88a682220
Merge branch '2.6.x' into 2.7.x
2022-09-08 19:37:52 -07:00
Phillip Webb
85697ac482
Update copyright year of changed files
2022-09-08 19:36:59 -07:00
Phillip Webb
07c0a8bced
Fix SecurityManager deprecation issues
...
See gh-32086
2022-08-17 13:22:40 -07:00
Phillip Webb
4ec2e357d9
Merge branch '2.7.x'
...
See gh-32086
2022-08-17 12:49:52 -07:00
Phillip Webb
60e1cc510c
Merge branch '2.6.x' into 2.7.x
...
See gh-32085
2022-08-17 12:48:21 -07:00
Phillip Webb
bd74344025
Revert "Don't close jar files early"
...
This reverts commit b42f056ddbfd5041ef80d2d909dd2f5e51ec3ff0.
2022-08-17 11:38:42 -07:00
Phillip Webb
674022d401
Revert "Don't close nested jars or wrapper when parent is closed"
...
This reverts commit 360eb027befd51012614f5938fb9cdc9f557a577.
2022-08-17 11:37:19 -07:00
Phillip Webb
ee2bd9e065
Merge branch '2.7.x'
...
Closes gh-32086
2022-08-15 17:59:28 -07:00
Phillip Webb
ef7aac8c14
Merge branch '2.6.x' into 2.7.x
...
Closes gh-32085
2022-08-15 17:59:06 -07:00
Phillip Webb
360eb027be
Don't close nested jars or wrapper when parent is closed
...
Update `JarFile` so that the `close()` method no longer closes nested
jars or the wrapper. Prior to this commit it was possible for a parent
jar file to be garbage collected and closed even though references still
existed to the nested jars. When this happened the nested jars would get
closed and any access to entries would result in `JarFile.ensureOpen()`
throwing an `IllegalStateException`. The user would often not see this
exception directly, but rather find `ClassNotFoundException` being
thrown.
Fixes gh-31853
2022-08-15 17:55:25 -07:00
Johnny Lim
6a4681baf5
Polish
...
See gh-31948
2022-08-02 15:14:23 +02:00
Phillip Webb
22144987e9
Update copyright year of changed files
2022-07-29 12:10:03 +01:00
Phillip Webb
35a65cf82e
Merge branch '2.7.x'
...
Closes gh-31876
2022-07-26 17:48:00 +01:00
Phillip Webb
fd076ab9ef
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31875
2022-07-26 17:46:20 +01:00
aoyvx
8c93d2e8a7
Ensure PROTOCOL_HANDLER system property is reset
...
See gh-31870
2022-07-26 17:20:55 +01:00
Phillip Webb
7377d85096
Merge branch '2.7.x'
...
Closes gh-31866
2022-07-26 12:18:14 +01:00
Phillip Webb
a4ef6a7c5c
Merge branch '2.6.x' into 2.7.x
...
Closes gh-31865
2022-07-26 12:13:16 +01:00
Phillip Webb
f8412847dc
Update copyright year for "Fix typos in code and documentation"
...
See gh-31734
2022-07-26 12:08:30 +01:00
Marc Wrobel
dbfc6bded4
Fix typos in code and documentation
...
See gh-31734
2022-07-26 12:08:07 +01:00
dreis2211
5db04da275
Use pattern matching for instanceof where appropriate
...
See gh-31475
2022-06-20 17:55:36 +01:00