1. 31 5月, 2014 1 次提交
  2. 13 5月, 2014 1 次提交
  3. 12 5月, 2014 1 次提交
    • R
      Add WebSocket scope · 2c4cbb61
      Rossen Stoyanchev 提交于
      This change adds support for a custom "websocket" scope.
      
      WebSocket-scoped beans may be injected into controllers with message
      handling methods as well as channel interceptor registered on the
      "inboundClientChannel".
      
      Issue: SPR-11305
      2c4cbb61
  4. 10 5月, 2014 1 次提交
  5. 09 5月, 2014 1 次提交
    • R
      Allow use of @SendToUser even w/o authenticated user · 97fb308b
      Rossen Stoyanchev 提交于
      Before this change, subscribing to a user destination and use of
      @SendToUser annotation required an authenticated user.
      
      This change makes it possible to subscribe to a user destination from
      WebSocket sessions without an authenticated user. In such cases the
      destination is associated with one session only rather than with a
      user (and all their sessions).
      
      It is then also possible to send a message to a user destination
      via "/user/{sessionId}/.." rather than "/user/{user}/...".
      
      That means @SendToUser works relying on the session id of the input
      message, effectively sending a reply to destination private to the
      session.
      
      A key use case for this is handling an exception with an
      @MessageExceptionHandler method and sending a reply with @SendToUser.
      
      Issue: SPR-11309
      97fb308b
  6. 03 5月, 2014 1 次提交
  7. 30 4月, 2014 2 次提交
    • R
      Fix Javadoc typo · 209bb4ee
      Rossen Stoyanchev 提交于
      209bb4ee
    • S
      Integrate animal sniffer · bd85c916
      Stephane Nicoll 提交于
      Animal sniffer provides tools to assist verifying that classes
      compiled with a newer JDK are compatible with an older JDK.
      
      This integratesthe latest version of the tool (1.11) that
      permits the use of custom annotations. Added @UsesJava7,
      @UsesJava8 and @UsesSunHttpServer and annotated the few places
      where we rely on a specific environment.
      
      The verification process can be invoked by running the 'sniff'
      task.
      
      Issue: SPR-11604
      
      polishing
      bd85c916
  8. 28 4月, 2014 1 次提交
  9. 26 4月, 2014 1 次提交
  10. 22 4月, 2014 1 次提交
  11. 18 4月, 2014 1 次提交
  12. 15 4月, 2014 1 次提交
  13. 14 4月, 2014 2 次提交
    • R
      Switch BufferingStompDecoder to decoration · 65b17b80
      Rossen Stoyanchev 提交于
      The BufferingStompDecoder now decorates rather than extend
      StompDecoder. This allows a single StompDecoder instance to be
      configured and extended independantly while buffering remains a
      separate concern.
      65b17b80
    • R
      Make use of enhanced MessageHeaderAccessor support · ae942ffd
      Rossen Stoyanchev 提交于
      Mutate rather than re-create headers when decoding STOMP messages
      before a message is sent on a message channel.
      
      Use MessageBuilder.createMessage to ensure the fully prepared
      MessageHeaders is used directly MessageHeaderAccessor instance.
      
      Issue: SPR-11468
      ae942ffd
  14. 05 4月, 2014 1 次提交
    • R
      Rename header for "orig" destination · 5e925ac0
      Rossen Stoyanchev 提交于
      The UserDestinationMessageHandler adds a header providing a hint for
      what the original destination a user may have used when subscribing.
      That is then used when writing messages back to WebSocket clients to
      ensure they dont see the internally used, transformed user destination.
      
      This change moves the header name constatn to make it more broadly
      applicable. For example SPR-11645.
      5e925ac0
  15. 04 4月, 2014 1 次提交
  16. 02 4月, 2014 1 次提交
    • R
      Update JettyWebSocketSession · 73ecbc04
      Rossen Stoyanchev 提交于
      Ensure the JettyWebSocket session can return the Principal and accepted
      WebSocket sub-protocol even after the session is closed.
      
      Issue: SPR-11621
      73ecbc04
  17. 01 4月, 2014 3 次提交
  18. 28 3月, 2014 1 次提交
  19. 26 3月, 2014 1 次提交
  20. 25 3月, 2014 10 次提交
  21. 24 3月, 2014 1 次提交
  22. 23 3月, 2014 6 次提交
    • R
      7af74b24
    • R
      Adjust SockJS scheduler core pool size · 2c6d6b52
      Rossen Stoyanchev 提交于
      Issue: SPR-11556
      2c6d6b52
    • R
      Polish · 7651f83b
      Rossen Stoyanchev 提交于
      7651f83b
    • R
      Add CloseStatus to indicate unreliable session · cbd5af3a
      Rossen Stoyanchev 提交于
      When a send timeout is detected, the WebSocket session is now closed
      with a custom close status that indicates so. This allows skipping
      parts of the close logic that may cause further hanging.
      
      Issue: SPR-11450
      cbd5af3a
    • R
      Remove synchronized keywords from SockJsSession impls · 4028a3b0
      Rossen Stoyanchev 提交于
      Before this change SockJsSession implementations of WebSocketSession
      used synchronization around its method implementations protecting
      internal state and ensuring only a single thread is sending messages
      at a time.
      
      A WebSocketSession is generally expected to be used from one thread
      at a time and now that application messages are sent through
      ConcurrentWebSocketSessionDecorator, there is no concern about
      application messages sent from the different threads.
      
      While there are some remaining concerns, those can be addressed
      without using the synchronized keyword. This change removes it from
      the methods of all SockJS session implementations.
      
      Issue: SPR-11450
      4028a3b0
    • R
      Improve ConcurrentWebSocketSessionDecorator · ffac748f
      Rossen Stoyanchev 提交于
      Before this change the decorator ensured that for a specific WebSocket
      session only one thread at a time can send a message. Other threads
      attempting to send would have their messages buffered and each time
      that occurs, a check is also made to see if the buffer limit has been
      reached or the send time limit has been exceeded and if so the session
      is closed.
      
      This change adds further protection to ensure only one thread at a time
      can perform the session limit checks and attempt to close the session.
      Furthermore if the session has timed out and become unresponsive,
      attempts to close it may block yet another thread. Taking this into
      consideration this change also ensures that state associated with the
      session is cleaned first before an attempt is made to close the session.
      
      Issue: SPR-11450
      ffac748f