1. 08 10月, 2013 1 次提交
    • B
      Fix MockHttpServletResponse HTTP status update · e4479c86
      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
      e4479c86
  2. 07 10月, 2013 1 次提交
  3. 05 10月, 2013 4 次提交
    • J
      Comprehensive update to the framework's TimeZone handling, including a new... · 4574528a
      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
      4574528a
    • J
      Polishing · 52cca48f
      Juergen Hoeller 提交于
      52cca48f
    • J
      Marked Jackson 1.x support classes as deprecated · 8b3afda6
      Juergen Hoeller 提交于
      8b3afda6
    • J
      bd4c64af
  4. 03 10月, 2013 7 次提交
    • J
      Introduced TomcatLoadTimeWeaver for Tomcat's new InstrumentableClassLoader interface · 3fad0fa4
      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
      3fad0fa4
    • J
      Polishing · 888e3c7e
      Juergen Hoeller 提交于
      888e3c7e
    • R
      Make method in RequestMappingHandlerMapping protected · 52d663e5
      Rossen Stoyanchev 提交于
      Issue: SPR-10950
      52d663e5
    • B
      Add Jackson's Modules registration in Jackson2OMFactoryBean · a5e39167
      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
      a5e39167
    • B
      Add javax.servlet.http.Part support for data binding · e91ce23c
      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
      e91ce23c
    • A
      Introduce new HEARTBEAT message type · 41e411a8
      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.
      41e411a8
    • A
      Make the broker relay heartbeat intervals configurable · a7f735b5
      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.
      a7f735b5
  5. 02 10月, 2013 3 次提交
    • A
      Improve broker relay's shutdown and availability events · ba11af7f
      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.
      ba11af7f
    • R
      Fix failing test · c01f45fa
      Rossen Stoyanchev 提交于
      c01f45fa
    • R
      f8e1f06d
  6. 01 10月, 2013 7 次提交
    • R
      Prevent cache of sockjs known prefixes from growing · 02cb8665
      Rossen Stoyanchev 提交于
      Issue: SPR-10893
      02cb8665
    • R
      Fix issue with getting SockJS path · e60e8dc5
      Rossen Stoyanchev 提交于
      Issue: SPR-10923
      e60e8dc5
    • R
      Fix issue in simple broker with peer-to-peer messages · 6ddacdc0
      Rossen Stoyanchev 提交于
      Issue: SPR-10930
      6ddacdc0
    • R
      Polish and fix issues in STOMP broker relay · 48caeef4
      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.
      48caeef4
    • A
      Polishing · 34dd8447
      Andy Wilkinson 提交于
       - Polish javadoc for CONNECTED_USER_HEADER
       - Improve method ordering
      34dd8447
    • A
      Introduce CONNECT_ACK message type · 5025c304
      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.
      5025c304
    • A
      Improve handling of send failures · b2f31a3c
      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.
      b2f31a3c
  7. 30 9月, 2013 1 次提交
  8. 28 9月, 2013 7 次提交
  9. 27 9月, 2013 9 次提交
    • R
      Merge pull request #364 from mikesir87/ws-glassfish4-support · f3611e76
      Rossen Stoyanchev 提交于
      * mikesir87-ws-glassfish4-support:
        Added websocket upgrade support for GlassFish 4.0
      f3611e76
    • M
      Added websocket upgrade support for GlassFish 4.0 · f1e929f3
      Michael Irwin 提交于
      Commit 2397b210 changed websocket
      support to use GlassFish 4.0.1 nightlies, but broke support for 4.0. In
      GlassFish 4.0.1, the package that TyrusEndpoint is located in changed.
      This commit provides an abstract handler that does all required
      GlassFish setup, but delegates to version specific upgrade handlers to
      create the final TyrusEndpoint.
      
      GlassFish 4.0 handler uses reflection to create its endpoint to prevent
      dependency issues of depending on different versions of
      tyrus-websocket-core and tyrus-container-servlet
      f1e929f3
    • R
      Polish logging · c06ea3b4
      Rossen Stoyanchev 提交于
      c06ea3b4
    • P
      Remove unused snapshot repository definition · 6ca8346e
      Phillip Webb 提交于
      6ca8346e
    • R
      Merge multiple pull requests from wilkinsona · d5dfd1b4
      Rossen Stoyanchev 提交于
      * broker-relay:
        Polish
        Improve handling of missed heartbeats
        Upgrade to Reactor 1.0.0.M3
        Add heart-beat support to STOMP broker relay
        Remove CONNECT-related message buffer from STOMP relay
        Add StompCodec
      d5dfd1b4
    • R
      Polish · 469aaa87
      Rossen Stoyanchev 提交于
      469aaa87
    • A
      Improve handling of missed heartbeats · 6679feb7
      Andy Wilkinson 提交于
      Previously, when a broker heartbeat was mnissed, the STOMP connection
      would be left in a semi-disconnected state such that, for example, the
      read and write idle callbacks would still be active, even though
      the underlying TCP connection had been nulled out.
      
      As part of disconnecting the STOMP connection, this commit closes the
      underlying TCP connection when a heartbeat's missed which cancels the
      read and write idle callbacks. It also now copes with the underlying
      TCP connection being null when sending a heartbeat to the broker. This
      protects again a race condition between the write idle callback being
      fired, such that a heartbeat needs to be sent, and the connection
      being nulled out due to it being closed.
      6679feb7
    • A
      Upgrade to Reactor 1.0.0.M3 · bae9134a
      Andy Wilkinson 提交于
      bae9134a
    • A
      Add heart-beat support to STOMP broker relay · 496d8321
      Andy Wilkinson 提交于
      Previously, the STOMP broker relay did not support heart-beats. It sent
      0,0 in the heart-beats header for its own CONNECTED message, and set the
      heart-beats header to 0,0 when it was forwarding a CONNECTED from from a
      client to the broker.
      
      The broker relay now supports heart-beats for the system relay session.
      It will send heart-beats at the send interval that's been negotiated
      with the broker and will also expect to receive heart-beats at the
      receive interval that's been negotiated with the broker. The receive
      interval is multiplied by a factor of three to satisfy the STOMP spec's
      suggestion of lenience and ActiveMQ 5.8.0's heart-beat behaviour (see
      AMQ-4710).
      
      The broker relay also supports heart-beats between clients and the
      broker. For any given client's relay session, any heart-beats received
      from the client are forwarded on to the broker and any heart-beats
      received from the broker are sent back to the client.
      
      Internally, a heart-beat is represented as a Message with a byte array
      payload containing the single byte of new line ('\n') character and
      'empty' headers. SubscriptionMethodReturnValueHandler has been updated
      to default the message type to SimpMessageType.MESSAGE. This eases
      the distinction between a heartbeat and a message that's been created
      from a return value from application code.
      496d8321