Arjen Poutsma
ed4bd43cac
Add writableChannel to WritableResource
...
This commit introduces a `writableChannel()` method to
`WritableResource`, defaulting to `Channels.newChannel`, but with
overrides for file-based resources.
2017-05-03 11:44:01 +02:00
Juergen Hoeller
9d8e9cf243
Common root cause introspection algorithm in NestedExceptionUtils
...
Issue: SPR-15510
2017-05-03 11:31:28 +02:00
Juergen Hoeller
817e80c56b
Property actually throws exception for no write method found
...
Issue: SPR-15507
2017-05-02 21:16:31 +02:00
Juergen Hoeller
7ca0094fa1
ResolvableType.clearCache() clears SerializableTypeWrapper cache as well
...
Issue: SPR-15503
2017-05-02 21:13:55 +02:00
Stephane Nicoll
1b9e12f52f
Polish "Use Java 8 forEach method on Map"
...
Closes gh-1404
2017-04-28 11:07:08 +02:00
Jon Borenstein
13dc0cd828
Use Java 8 forEach method on Map
2017-04-28 11:07:08 +02:00
Juergen Hoeller
1ea54eb2c6
GenericFilterBean lazily initializes its default environment
...
Alignment with HttpServletBean; consistent use of EnvironmentCapable.
Issue: SPR-15469
2017-04-27 21:38:30 +02:00
Juergen Hoeller
baa7b1c6c8
Simplified match condition checks
...
Issue: SPR-15477
2017-04-27 21:31:50 +02:00
Juergen Hoeller
17f274fd6a
Debug log messages for value retrieval exceptions
...
Issue: SPR-15481
2017-04-27 21:31:39 +02:00
Juergen Hoeller
cd95f34666
Merge pull request #1399 from dreis2211/SPR-15477
...
Optimize AntPathMatcher when checking for potential matches
2017-04-27 20:26:37 +02:00
Christoph Dreis
13b39521d8
Optimize AntPathMatcher when checking for potential matches
...
Issue: SPR-15477
2017-04-27 19:04:36 +02:00
Sam Brannen
c855182e03
Polishing
2017-04-26 18:59:43 +02:00
Juergen Hoeller
c668d9a473
Polishing
2017-04-26 18:20:19 +02:00
Juergen Hoeller
3daf626842
Defensive fallback for file system resolution in lastModified()
...
Issue: SPR-15485
2017-04-26 18:17:00 +02:00
Oleg Zhurakousky
299b9d60fd
SPR-15481 Fixed AnnotationUtils.getValue() operation
...
- Fixed AnnotationUtils.getValue() operation to ensure it re-throws AnnotationConfigurationException instead of swallowing it (as it is done in few other operations in AnnotationUtils)
- Added test
- Removed unnecessary '@SuppressWarnings("unchecked")'
2017-04-26 15:05:32 +02:00
Rossen Stoyanchev
cc102c2fcd
Properly handle Flux<?> and Flux<Object> in WebFlux
...
Issue: SPR-15464
2017-04-20 09:19:38 -04:00
Rossen Stoyanchev
7d8dda9a5a
Polish reactive type support in Conventions
2017-04-18 23:25:44 -04:00
Rossen Stoyanchev
5c502b87ca
Support for reactive types in Conventions
...
Issue: SPR-14915
2017-04-18 23:00:43 -04:00
Rossen Stoyanchev
71966b0777
Polish Conventions
2017-04-18 23:00:43 -04:00
Juergen Hoeller
91df0653fe
Polishing
2017-04-17 15:05:34 +02:00
Juergen Hoeller
d50dab6ea9
Suppress deprecation warning on JDK 9 (for LogRecord.setMillis)
...
Includes revised Log methods in log level order, with consistent delegation of fatal->error for log level checks in SLF4J and JUL, a JavaUtilDelegate for defensive access to java.logging on JDK 9, support for LogRecord message objects, as well as revised log setup recommendations.
Issue: SPR-15453
Issue: SPR-14512
2017-04-14 22:43:44 +02:00
Rossen Stoyanchev
1e8c7e55de
WebTestClient assert response body with Consumer<B>
...
Issue: SPR-15421
2017-04-14 16:39:30 -04:00
Juergen Hoeller
0b118322b0
Polishing
2017-04-13 16:17:05 +02:00
Juergen Hoeller
4838f06d5d
ASM annotation visitor logs IllegalAccessException at debug level only
...
Issue: SPR-15442
2017-04-12 18:05:30 +02:00
Juergen Hoeller
093e573ace
ASM annotation visitor defensively accesses enum constants
...
Issue: SPR-15442
2017-04-12 15:36:18 +02:00
Sebastien Deleuze
4d9144132e
Upgrade to Reactor Core 3.1
...
Issue: SPR-15318
2017-04-11 18:13:04 +02:00
Juergen Hoeller
b061556f68
LogFactory enforces lazy resolution of non-String messages for SLF4J as well
...
Issue: SPR-14512
2017-04-11 15:39:17 +02:00
Sebastien Deleuze
23e35c0e1a
Handle Jackson InvalidDefinitionException with 5xx status in WebFlux
...
Issue: SPR-14925
2017-04-11 12:39:09 +02:00
Juergen Hoeller
c4e0d6c2a2
UnknownHostException as resource-not-found for properties files
...
Plus first-class declaration of FileNotFoundException in Resource javadoc.
Issue: SPR-15433
2017-04-11 11:45:30 +02:00
Juergen Hoeller
ce4eff321c
Optimize StringUtils.replace for larger replacement pattern
...
Issue: SPR-15430
2017-04-11 11:40:50 +02:00
Juergen Hoeller
3a1d431c7d
Optimize StringUtils.replace/deleteAny for common no-op case
...
Issue: SPR-15430
2017-04-11 10:11:54 +02:00
Juergen Hoeller
7fbc20e225
Undeprecate TypeVariableMap methods on GenericTypeResolver
...
Issue: SPR-15429
2017-04-11 10:09:09 +02:00
Juergen Hoeller
e5fdd4cd1d
Extracted AbstractJsonHttpMessageConverter from GsonHttpMessageConverter
...
Generic type resolution algorithm in GenericTypeResolver shared between Jackson and Gson.
Issue: SPR-15381
2017-04-10 15:36:29 +02:00
Juergen Hoeller
ea5cb26d75
LogFactory obtains ClassLoader-specific LoggerContext for Log4J
...
Issue: SPR-14512
2017-04-07 16:34:12 +02:00
Juergen Hoeller
8cb24e0d93
SettableTask.checkCompletingThread() only resets marker after match
...
Issue: SPR-15409
2017-04-07 13:39:58 +02:00
Juergen Hoeller
2566d6f5c8
LogFactory differentiates between SLF4J API and SPI presence
...
Issue: SPR-14512
2017-04-06 17:10:37 +02:00
Juergen Hoeller
702e01ad52
UrlResource applies StringUtils.getFilename against cleaned URL path
...
Issue: SPR-15411
2017-04-06 14:27:00 +02:00
Juergen Hoeller
67ea4b3a05
package-info for repackaged libraries (and other polishing)
2017-04-06 14:10:46 +02:00
Juergen Hoeller
75dd8d9c06
UrlResource applies StringUtils.getFilename against URL path
...
Issue: SPR-15411
2017-04-06 14:07:22 +02:00
Juergen Hoeller
3037277d0e
Minimize reflective interaction with annotation instances during retrieval
...
Issue: SPR-15387
2017-04-06 14:07:17 +02:00
Juergen Hoeller
45e7b350bd
LogFactory provides getFactory() with getInstance methods as well
...
Issue: SPR-14512
2017-04-05 22:24:09 +02:00
Juergen Hoeller
47277f43da
spring-core provides custom variant of Commons Logging
...
Includes dependency updates (JavaMail 1.6 RC1, RxJava 2.0.8, Tomcat 8.5.13, Undertow 1.4.12, XNIO 3.4.5)
Issue: SPR-14512
2017-04-05 21:22:44 +02:00
Rossen Stoyanchev
ae2306326e
Add RxJava1 Reactive Streams adapters check
2017-04-04 12:25:58 -04:00
Juergen Hoeller
e9627a10c7
Deprecate ObjectUtils.hashCode for primitives in favor of JDK 8's hashCode methods
...
Issue: SPR-15395
2017-04-04 17:16:50 +02:00
Rossen Stoyanchev
37f9c86758
Fix failing tests due to last commit
2017-04-03 09:38:08 -04:00
Rossen Stoyanchev
62c1e44db2
Spring MVC supports reactive return values
...
This commit adds support for reactive library types to be returned
directly from controller methods adapting them either to a
ResponseBodyEmitter (streaming) or DeferredResult (non-streaming).
The reactive libraries supported are the ones that can adapted to a
Reactive Streams Publisher through the ReactiveAdapterRegistry.
Issue: SPR-15365
2017-04-03 09:01:49 -04:00
Sebastien Deleuze
cbd98d5247
Switch back to Reactor BOM Aluminium-BUILD-SNAPSHOT
2017-03-29 16:41:54 +02:00
stonio
90388e4701
Replace size() check with isEmpty()
...
Closes gh-1333
2017-03-27 15:34:23 +02:00
stonio
412947a53f
Polish CollectionFactoryTests
...
Closes gh-1334
2017-03-27 12:51:11 +02:00
Rossen Stoyanchev
0662dbf044
String decoding for text only vs any MIME type
...
Follow-up to:
3d68c496f1
StringDecoder can be created in text-only vs "*/*" mode which in turn
allows a more intuitive order of client side decoders, e.g. SSE does
not have to be ahead of StringDecoder.
The commit also explicitly disables String from the supported types in
Jackson2Decoder leaving it to the StringDecoder in "*/*" mode which
comes after. This does not change the current arrangement since the
the StringDecoder ahead having "*/*" picks up JSON content just the
same.
From a broader perspective this change allows any decoder to deal with
String if it wants to after examining the content type be it the SSE
or another, custom decoder. For Jackson there is very little value in
decoding to String which works only if the output contains a single
JSON string but will fail to parse anything else (JSON object/array)
while StringDecoder in "*/*" mode will not fail.
Issue: SPR-15374
2017-03-23 16:53:06 -04:00