Commit Graph

21247 Commits

Author SHA1 Message Date
Rossen Stoyanchev
683cc2eb7f Add NDJSON and deprecate application/stream+json
Closes gh-21283
2020-07-28 17:53:37 +03:00
Rossen Stoyanchev
354635ede0 Polishing 2020-07-28 17:53:37 +03:00
Brian Clozel
f19afe0c76 Upgrade JDK 11, 14 and 15 EA 2020-07-28 14:56:12 +02:00
Brian Clozel
be801fc5fc Polish
See gh-24878
2020-07-28 14:48:25 +02:00
Juergen Hoeller
77137719d8 Polishing 2020-07-28 11:29:57 +02:00
Juergen Hoeller
a1a9bb3e7f Explicit note on phasing out serialization-based remoting
See gh-25379
2020-07-28 11:28:34 +02:00
Juergen Hoeller
adce6593af Move metrics package to org.springframework.core
See gh-24878
2020-07-28 11:28:10 +02:00
Juergen Hoeller
9f211de113 Turn MethodArgumentNotValidException into subclass of BindException
Closes gh-23107
2020-07-28 11:08:04 +02:00
Sam Brannen
8a394c2b07 Merge branch '5.2.x' 2020-07-28 10:00:21 +02:00
Sam Brannen
2b3fdfabb2 Remove unused class filtering support in AnnotationScanner
PR gh-25429 brought it to our attention that there was a bug in
AnnotationScanner when using a non-null class filter that filtered out
classes; however, it turns out that there is no production code that
utilizes the package-private class filtering support.

This commit therefore removes all class filtering support from
AnnotationScanner since that functionality is effectively unused.

Closes gh-25477
2020-07-28 09:58:14 +02:00
Brian Clozel
87c5b5a664 Upgrade to JDK 8u262 2020-07-27 22:59:08 +02:00
Brian Clozel
9301d7a294 Add application startup metrics support
This commit adds a new `StartupStep` interface and its factory
`ApplicationStartup`. Such steps are created, tagged with metadata and
thir execution time can be recorded - in order to collect metrics about
the application startup.

The default implementation is a "no-op" variant and has no side-effect.
Other implementations can record and collect events in a dedicated
metrics system or profiling tools. We provide here an implementation for
recording and storing steps with Java Flight Recorder.

This commit also instruments the Spring application context to gather
metrics about various phases of the application context, such as:

* context refresh phase
* bean definition registry post-processing
* bean factory post-processing
* beans instantiation and post-processing

Third part libraries involved in the Spring application context can
reuse the same infrastructure to record similar metrics.

Closes gh-24878
2020-07-27 22:37:14 +02:00
Rossen Stoyanchev
4252b7fd7d @ExceptionHandler support for non-@Controller handlers
Closes gh-22619
2020-07-27 21:20:50 +03:00
Rossen Stoyanchev
a4c157fc09 Check for native WebSocket message
In addition to the changes in
313a7836b0 to support passing on a
the underlying WebSocket message, this commits checks for its
availability.

Closes gh-25099
2020-07-27 21:20:50 +03:00
Sam Brannen
86c52a842f Support multiple Content-Language values in MockHttpServletResponse
Prior to this commit, if the user supplied a comma-separated list such
as "en, it" as the Content-Language header value to
MockHttpServletResponse's setHeader() method, only the first language
was actually set in the response's Content-Language header (e.g., "en").

This commit ensures that all supplied content languages are set in the
response's Content-Language header.

Closes gh-25281
2020-07-27 17:47:46 +02:00
Sam Brannen
d2db43a900 Polish Javadoc 2020-07-27 14:38:24 +02:00
Sam Brannen
27e0febacf Polish MockHttpServletResponseTests 2020-07-26 09:57:25 +02:00
Sam Brannen
a03f894a14 Merge branch '5.2.x' 2020-07-25 15:48:53 +02:00
Sam Brannen
5442d8779a Polish contribution
See gh-25429
2020-07-25 15:24:36 +02:00
yilianhuaixiao
650cbeee14 Avoid infinite loop in AnnotationScanner
Prior to this commit, scanning for annotations resulted in an infinite
loop when using the INHERITED_ANNOTATIONS search strategy and a class
filter that filters out visited classes.

This commit avoids an infinite loop in AnnotationsScanner's
processClassInheritedAnnotations(...) method by skipping the current
level of the class hierarchy when the current source class has been
filtered out.

Closes gh-25429
2020-07-25 15:23:21 +02:00
Arjen Poutsma
cf8c36adf3 Javadoc
Add Javadoc note explaining that StringUtils.cleanPath should not be
depended on in security context.
2020-07-23 17:43:20 +02:00
Sébastien Deleuze
05683fed7a Skip LoadTimeWeaverAwareProcessor with native images 2020-07-23 12:13:20 +02:00
Juergen Hoeller
718d46adac Check for alias overriding bean definition of same name
Closes gh-25430
2020-07-22 18:42:53 +02:00
Sam Brannen
32b35e9a23 Merge branch '5.2.x' 2020-07-22 17:28:57 +02:00
Sam Brannen
335c3d5db6 Polish contribution
See gh-25445
2020-07-22 17:26:59 +02:00
XenoAmess
ab859fcc96 Refine use of substring operations
Closes gh-25445
2020-07-22 17:26:42 +02:00
Sam Brannen
a8901e3cf8 Polish contribution
See gh-25445
2020-07-22 16:36:14 +02:00
XenoAmess
edfc6c0293 Refine use of substring operations
Closes gh-25445
2020-07-22 16:28:58 +02:00
Sam Brannen
cdc234d7db Polish contribution
See gh-25446
2020-07-22 14:06:29 +02:00
XenoAmess
c547809e89 Use instanceof instead of Class#isInstance where feasible
Closes gh-25446
2020-07-22 14:06:29 +02:00
Rossen Stoyanchev
9fe1feea9a Provide access to underlying RSocketClient
The recently introduced support for RSocketClient in commit
7c98251142 did not expose the underlying
client in order to avoid a hard dependency on RSocket 1.1 for the time
being. However such access appears to be necessary, e.g. for Spring
Integration, where the connection needs to be established (warmed up)
ahead of actual requests.

See gh-25332
2020-07-22 14:57:33 +03:00
Rossen Stoyanchev
f9ba58eab9 Match subscriptions to remove by id
Commit 524ca1a676 unintentionally changed
how subscriptions to be removed are matched. This commit restores that.

See gh-25298
2020-07-22 13:22:29 +03:00
Sam Brannen
471577a11b Polish contribution
See gh-25454
2020-07-22 11:35:31 +02:00
XenoAmess
523d2f88be Use List.sort instead of Collection.sort in tests
Closes gh-25454
2020-07-22 11:32:50 +02:00
Sam Brannen
ae5913f3b6 Polish tests
See gh-25456
2020-07-22 11:09:52 +02:00
XenoAmess
cd12583e13 Use Integer.parseInt instead of Integer.valueOf for primitive int
Closes gh-25456
2020-07-22 10:54:32 +02:00
Sam Brannen
24f9b1d966 Delete unused import 2020-07-22 10:40:59 +02:00
XenoAmess
e4a139e70e Use System.currentTimeMillis() in AbstractSockJsService
Closes gh-25447
2020-07-22 10:39:27 +02:00
XenoAmess
3b12beb1b8 Simplify if-statements with instanceof checks
Closes gh-25449
2020-07-22 10:34:27 +02:00
XenoAmess
c7f44ff671 Fix links in Javadoc
Closes gh-25448
2020-07-22 10:24:55 +02:00
XenoAmess
fa0a1446f0 Use StringBuilder instead of StringBuffer in tests
Closes gh-25450
2020-07-22 10:21:06 +02:00
Sungho Hwang
2522fe0292 Fix typos in Javadoc
Closes gh-25458
2020-07-22 10:18:36 +02:00
Sam Brannen
2719dcb29b Delete unused imports 2020-07-22 10:14:08 +02:00
XenoAmess
b6c463676a Use Stream#toArray in TestCompiler
Closes gh-25453
2020-07-21 20:44:54 +02:00
XenoAmess
e71f702bb9 Use static private instead of private static for method declarations
Closes gh-25452
2020-07-21 18:26:28 +02:00
Brian Clozel
05ef630f4f Merge branch '5.2.x' 2020-07-21 11:05:32 +02:00
Spring Buildmaster
fc6b38a8f6 Next Development Version 2020-07-21 08:20:59 +00:00
Jay Bryant
674bad0c59 Wording changes
Replace potentially insensitive language with more neutral language.

See gh-25314
2020-07-20 20:08:54 +02:00
Sam Brannen
3d64f8162c Merge branch '5.2.x' 2020-07-20 18:38:32 +02:00
Jay Bryant
1c83b3fc22 Wording changes
Replace potentially insensitive language with more neutral language.

Closes gh-25314
2020-07-20 17:14:13 +02:00