- 11 10月, 2013 2 次提交
-
-
由 Phillip Webb 提交于
Issue: SPR-10973
-
由 Phillip Webb 提交于
Fix ResolvableType.isAssignableFrom to correctly deal with <?> style generics. Issue: SPR-10973
-
- 10 10月, 2013 4 次提交
-
-
由 Phillip Webb 提交于
Refactor AbstractMessageConverterMethodArgumentResolver and BridgeMethodResolver to use ResolvableType in preference to deprecated GenericTypeResolver calls. Issue: SPR-10980
-
由 Phillip Webb 提交于
Refactor GenericCollectionTypeResolver to make use of ResolvableType for generic resolution. Issue: SPR-10977
-
由 Phillip Webb 提交于
Refactor GenericTypeResolver to make use of ResolvableType for generic resolution. Issue: SPR-10978
-
由 Phillip Webb 提交于
Add a new ResolvableType Class which encapsulates java.lang.reflect.Type, providing access to supertypes, interfaces and generic parameters along with the ability to ultimately resolve to a java.lang.Class. ResolvableTypes may be obtained from fields, method parameters, method returns, classes or directly from a java.lang.reflect.Type. Most methods will themselves return ResolvableTypes, allowing easy navigation. For example: private HashMap<Integer, List<String>> myMap; public void example() { ResolvableType t = ResolvableType.forField( getClass().getDeclaredField("myMap")); t.getSuperType(); // AbstractMap<Integer, List<String>>; t.asMap(); // Map<Integer, List<String>> t.getGeneric(0).resolve(); // Integer t.getGeneric(1).resolve(); // List t.getGeneric(1); // List<String> t.resolveGeneric(1, 0); // String } Issue: SPR-10973
-
- 09 10月, 2013 2 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-10789
-
- 08 10月, 2013 8 次提交
-
-
由 Brian Clozel 提交于
Prior to this commit, one could only match exact URLs in redirectedUrl and forwardedUrl ResultMatchers. When creating a resource with a REST service, URLs often contain the id the new resource, like "/resource/12". This commit updates those ResultMatchers to support both exact matches and AntPath matches, using new methods. The former URL then can be tested against "/resource/*" in MVC tests. Issue: SPR-10789
-
由 Rossen Stoyanchev 提交于
This change reverts recent commits made to expand the resource handling mechanism in Spring MVC. The changes will move into a separate branch and likely into a separate project allowing it to mature and evolve without being tied to the main framework release schedule. Issue: SPR-10933, SPR-10310
-
由 Rossen Stoyanchev 提交于
This reverts commit d4a0e628, reversing changes made to 8abe9497.
-
由 Rossen Stoyanchev 提交于
This reverts commit 1ba806b1.
-
由 Rossen Stoyanchev 提交于
This reverts commit f8e1f06d.
-
由 Rossen Stoyanchev 提交于
This reverts commit c01f45fa.
-
由 Brian Clozel 提交于
Prior to this commit, one could not test for the absence of a specific HTTP header in a response. Using header("X-Custom-Header", Matchers.nullValue()) would not work because it tests for an empty value of an existing header. This commit adds a doesNotExist method on the HeaderResultMatcher. Issue: SPR-10771
-
由 Brian Clozel 提交于
Prior to this commit, one could call the setStatus method on this Mock object and update the response's status, even though the sendError method had already been called. According to the HttpServletResponse Javadoc, sendError() methods commit the response; so the response can't be written after that. This commit fixes MockHttpServletResponse's behavior; setStatus methods do not update the status once the response has been committed. Issue: SPR-10414
-
- 07 10月, 2013 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 05 10月, 2013 4 次提交
-
-
由 Juergen Hoeller 提交于
Comprehensive update to the framework's TimeZone handling, including a new TimeZoneAwareLocaleContext and a LocaleContextResolver for Spring MVC A few noteworthy minor changes: LocaleContext.getLocale() may return null in special cases (not by default), which our own accessing classes are able to handle now. If there is a non-null TimeZone user setting, we're exposing it to all collaborating libraries, in particular to JSTL, Velocity and JasperReports. Our JSR-310 and Joda-Time support falls back to checking the general LocaleContext TimeZone now, adapting it to their time zone types, if no more specific setting has been provided. Our DefaultConversionService has TimeZone<->ZoneId converters registered. And finally, we're using a custom parseTimeZoneString method now that doesn't accept the TimeZone.getTimeZone(String) GMT fallback for an invalid time zone id anymore. Issue: SPR-1528
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
- 03 10月, 2013 7 次提交
-
-
由 Juergen Hoeller 提交于
At the same time, dropped GlassFish 1/2 support from GlassFishLoadTimeWeaver and redesigned it to be as analogous to TomcatLoadTimeWeaver as possible. Issue: SPR-10788
-
由 Juergen Hoeller 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-10950
-
由 Brian Clozel 提交于
Prior to this commit, one couldn't configure Jackson's ObjectMapper with (De)SerializerModifiers or advanced configuration features using XML configuration. This commit updates the FactoryBean and adds a setModule method that will register Modules with the ObjectMapper. Note that this commit is only about XML configuration, since this feature was already available with JavaConfig. Issue: SPR-10429
-
由 Brian Clozel 提交于
Prior to this commit, Multipart databinding would only support MultiPartFile databinding using commons-multipart. Now the WebRequestDataBinder supports Part and List<Part> databinding for Servlet 3.0 compliant containers. Issue: SPR-10591
-
由 Andy Wilkinson 提交于
Previously, there was no generic concept of a message that represents a heartbeat and the STOMP-specific code used a null STOMP command to represent a heartbeat. This commit introduces HEARTBEAT as a new SimpMessageType. The STOMP support has been updated to create HEARTBEAT messages to represent heartbeats, and to use the new message type as the mechanism by which heartbeats are identified.
-
由 Andy Wilkinson 提交于
Prior to this commit, the intervals at which the broker relay's system session would send heartbeats to the STOMP broker and expect to receive heartbeats from the STOMP broker were hard-coded at 10 seconds. This commit makes the intervals configurable, with 10 seconds being the default value.
-
- 02 10月, 2013 3 次提交
-
-
由 Andy Wilkinson 提交于
Previously, when the broker relay was shut down, the TCP client was closed and the relay sessions were left to find out about the shutdown as a result of their TCP connections being closed. This led to problems where an attempt could be made to use a session that was, in fact, in the process of being shut down. This commit updates the broker relay to explicitly close each of its relay sessions as part of its stop processing. As part of the broker relay being shut down explicitly close each of its relay sessions. It does so before closing the TCP client so that the relay sessions know that they are disconnected before their TCP connections are closed. The broker relay's publishing of availability events has also been improved. Prior to this commit, availability events were published based on the availability of any relay session. For example, this meant that a successfully established client relay session would result in an event being published indicating that the broker's available even if the system relay session was yet to be established. This commit updates the relay so that broker availability events are only published by the system relay session. This allows application code the use these events as an accurate indication of the availability of the broker. Clients that are interested in the broker's availability can find out through the use of heart beats or through the receipt of an ERROR frame in response to an attempt to communnicate with the broker.
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
-
- 01 10月, 2013 7 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-10893
-
由 Rossen Stoyanchev 提交于
Issue: SPR-10923
-
由 Rossen Stoyanchev 提交于
Issue: SPR-10930
-
由 Rossen Stoyanchev 提交于
Fix error in te code that handles the result of sending a heartbeat Fix error in processing DISCONNECTED frames that closed the TCP connection before the message was sent.
-
由 Andy Wilkinson 提交于
- Polish javadoc for CONNECTED_USER_HEADER - Improve method ordering
-
由 Andy Wilkinson 提交于
Previously, handling of a STOMP CONNECT message and sending of a CONNECTED response was performed by StompProtocolHandler if it was backed by SimpleBrokerMessageHandler, or left up to the real message broker if it was backed by StompBrokerRelayMessageHandler. This wasn't ideal as it should be StompProtocolHandler's job to simply map messages to and from the STOMP protocol, not to do part of the broker's job and respond directly to CONNECT. This commit introduces a new message type, CONNECT_ACK. When it receives a CONNECT message, SimpleBrokerMessageHandler will now respond with a CONNECT_ACK message that StompProtocolHandler can map into a STOMP CONNECTED message. The CONNECT_ACK message contains the CONNECT message as a header so that StompProtocolHandler has access to its accept-version header. StompProtocolHandler has been simplified so that a CONNECT message is always passed to the output channel, irrespective of whether it's backed by a simple broker or a real broker. The handleConnect flag, and the code that would set it correctly depending on the app's configuration, has been removed.
-
由 Andy Wilkinson 提交于
Prior to this commit, a failure to send a heartbeat was ignored and a failure to forward a message to the broker would result in an error frame being sent but nothing more. Following this commit, a failure to send a heartbeat to the broker is treated as a TCP client failure. Furthermore, if the system relay session fails to forward a message to the broker an exception is thrown. Typically, the system relay session will be forwarding messages on behalf of local application code, rather than a remote WebSocket client. Throwing an exception allows the application code to be notified of the problem directly, rather than via a broker availability event.
-
- 30 9月, 2013 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-10854
-
- 28 9月, 2013 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-