Brian Clozel
7bee3d1574
Optimize Jackson resource management in codecs
...
Prior to this commit, references to `JsonGenerator` and
`ByteArrayBuilder` were not closed/released within codecs calls.
This prevents Jackson from reusing more efficiently shared memory
resources.
This commit properly closes/releases Jackson resources in Spring MVC,
Spring WebFlux and Spring Messaging codecs.
A benchmark on WebFlux codecs (in both single value/streaming mode)
shows significant throughput and allocation improvements for small
payloads.
Closes gh-25910
2020-10-20 15:36:23 +02:00
Juergen Hoeller
f3f19504c6
Polishing
2020-10-13 00:21:07 +02:00
Juergen Hoeller
e176c4e799
Polishing
2020-10-12 19:40:50 +02:00
Juergen Hoeller
66a67ec807
Polishing
2020-10-12 18:26:14 +02:00
Juergen Hoeller
f83bb7183e
Polishing
2020-10-06 15:31:34 +02:00
Rossen Stoyanchev
86f2ebec1b
Fix recursion issue caused by previous commit
...
See gh-25821
2020-09-30 22:03:46 +01:00
Rossen Stoyanchev
7ad60d385b
Fix issue with copying headers in NativeMessageHeaderAccessor
...
Closes gh-25821
2020-09-30 21:42:26 +01:00
Rossen Stoyanchev
4b9c3fa739
Polishing Javadoc
...
See gh-25821
2020-09-30 21:42:26 +01:00
Juergen Hoeller
6e4fcb69f0
Polishing
2020-09-25 11:26:01 +02:00
Juergen Hoeller
9dfef59af2
Construct StringWriter instances with appropriate initial size
...
Closes gh-25789
2020-09-18 18:14:57 +02:00
Juergen Hoeller
cf2e0c7959
Selected use of ArrayList instead of LinkedList in common places
...
See gh-25652
2020-08-27 14:14:44 +02:00
Sam Brannen
bd65762582
Polish Javadoc for MessagePostProcessor interfaces
...
See gh-25571
2020-08-10 11:26:41 +02:00
Philippe Marschall
6a7e58ac82
Add @FunctionalInterface to MessagePostProcessor
...
Add the @FunctionalInterface annotation to the MessagePostProcessor
interfaces in the spring-jms and spring-messaging projects.
Closes gh-25571
2020-08-10 11:19:35 +02:00
Juergen Hoeller
8dd285f877
Polishing
2020-08-07 13:02:43 +02:00
XenoAmess
ab859fcc96
Refine use of substring operations
...
Closes gh-25445
2020-07-22 17:26:42 +02:00
Rossen Stoyanchev
b2a4d1c5b1
Avoid re-creating connect Mono<RSocket>
...
Closes gh-25330
2020-07-01 08:02:03 +01:00
Rossen Stoyanchev
1d0fe1223d
Fix checkstyle violation
2020-06-09 11:47:05 +01:00
Rossen Stoyanchev
b48ddef4c6
Upgrade to RSocket 1.0.1
2020-06-09 08:59:55 +01:00
Juergen Hoeller
c35b21b49f
Consistent not-null assertions for configured interceptors
...
Closes gh-25088
2020-05-18 14:23:05 +02:00
Rossen Stoyanchev
ef27bc4b82
Upgrade to RSocket 1.0.0
...
Closes gh-25053
2020-05-12 12:00:06 +01:00
Rossen Stoyanchev
2002a1689a
Adapt test to changes in RSocket Java
...
See gh-24934
2020-04-25 07:11:34 +01:00
Sam Brannen
5eba1ae73c
Avoid deprecation warning in DefaultRSocketRequesterBuilderTests
2020-04-22 19:19:34 +02:00
Rossen Stoyanchev
1904e9b7e7
Disable failing test temporarily
2020-04-20 10:16:40 +01:00
Rossen Stoyanchev
ed8c61a852
Upgrade to RSocket 1.0 RC7 snapshots
2020-04-20 09:42:28 +01:00
Sébastien Deleuze
3c354a9b18
Avoid using Mockito argument matcher in Mockk test
2020-04-07 16:38:09 +02:00
陈其苗
13970ae528
Use autoboxing instead of explicit wrapping in tests
...
Closes gh-24801
2020-04-01 14:34:20 +02:00
Rossen Stoyanchev
95ef9c25c2
Reduce byte[] allocations in StompEncoder
...
Closes gh-24694
2020-03-31 12:56:10 +01:00
Sam Brannen
e26764d249
Remove duplicate words in documentation and polish Javadoc
2020-03-31 12:17:58 +02:00
Sam Brannen
9e30620ac2
Polish contribution
...
See gh-24805
2020-03-30 13:47:00 +02:00
Сергей Цыпанов
e63d1cf12d
Improve usage of ByteArrayOutputStream/ByteArrayInputStream
...
Closes gh-24805
2020-03-30 13:22:21 +02:00
Qimiao Chen
7c831d2ef4
Replace anonymous inner classes with lambdas in tests
...
Closes gh-24808
2020-03-30 12:02:23 +02:00
Rossen Stoyanchev
3175f0771e
Remove dumpString from DataBufferTestUtils
...
See gh-24786
2020-03-26 21:42:12 +00:00
Sam Brannen
6222efc54b
Polish contribution
...
See gh-24785
2020-03-26 16:52:24 +01:00
Сергей Цыпанов
65aa2d03f0
Simplify conversion of ByteArrayOutputStream to String
...
Closes gh-24785
2020-03-26 16:52:14 +01:00
Qimiao Chen
09b36380cd
Fix typos in source files
...
Closes gh-24746
2020-03-20 20:06:52 +01:00
Rossen Stoyanchev
7efb62091d
MessagingRSocket correctly handles unconsumed input
...
Closes gh-24741
2020-03-20 10:03:56 +00:00
Rossen Stoyanchev
5b27df772a
Suppress deprecation warning
...
See gh-24725
2020-03-19 07:21:21 +00:00
Sam Brannen
a8feb792da
Fix broken Javadoc links
2020-03-16 16:30:27 +01:00
Rossen Stoyanchev
4aedf2ea13
MetadataEncoder expands vars correctly
...
Closes gh-24656
2020-03-12 11:35:08 +00:00
ZhangT
c5fb7b9fb7
Simplify some redundant code
...
Closes gh-24586
Co-authored-by: Sam Brannen <sbrannen@pivotal.io>
2020-02-26 12:29:09 +01:00
Hyunjin Choi
ede2a1d4b2
Remove unnecessary semicolon in some enum classes
2020-02-24 14:56:12 +01:00
Rossen Stoyanchev
28a95e89f3
Upgrade to Dysprosium SR5 snapshots
...
See gh-24355
2020-02-11 12:52:04 +00:00
Rossen Stoyanchev
3c0c0c0597
Fix issue with new line handling in StompDecoder
...
Closes gh-23713
2020-01-16 14:54:10 +00:00
Sam Brannen
94f8ef08e2
Move common TestPrincipal to spring-core test fixtures
...
See gh-23550
2020-01-02 16:01:35 +01:00
Sam Brannen
4260c34b47
Rename test fixture package in spring-core
...
See gh-23550
2020-01-02 16:01:34 +01:00
Sam Brannen
5718bf424b
Use Gradle test fixture support for spring-core
...
See gh-23550
2020-01-02 16:01:34 +01:00
Sam Brannen
1b4fd1cba1
Polishing
2019-12-22 16:00:45 +01:00
Sébastien Deleuze
0f41536820
Fix RSocketRequester Coroutines extensions
...
After gh-24073, some Coroutines extensions should be applied on
RetrieveSpec instead of RequestSpec.
Closes gh-24166
2019-12-09 11:50:06 +01:00
Sam Brannen
55ae3c5e87
Polishing
2019-12-07 12:59:03 +01:00
Brian Clozel
d4209392d2
Allow ExchangeStrategies customizations in WebClient
...
Prior to this commit, developers could configure their WebClient to use
their custom `ExchangeStrategies`, by providing it in the
`WebClient.Builder` chain.
Once created, an `ExchangeStrategies` instance is not mutable, which
makes it hard for further customizations by other components. In the
case of the reported issue, other components would override the default
configuration for the codecs maxInMemorySize.
This commit makes the `ExchangeStrategies` mutable and uses that fact to
further customize them with a new `WebClient.Builder#exchangeStrategies`
`Consumer` variant. This commit is also deprecating those mutating
variants in favor of a new `WebClient.Builder#exchangeStrategies` that
takes a `ExchangeStrategies#Builder` directly and avoids mutation issues
altogether.
Closes gh-23961
2019-12-02 14:12:59 +00:00