1. 03 12月, 2014 1 次提交
    • S
      Use Jackson improved default configuration everywhere · fbd85925
      Sebastien Deleuze 提交于
      With this commit, Jackson builder is now used in spring-websocket
      to create the ObjectMapper instance.
      
      It is not possible to use the builder for spring-messaging
      and spring-jms since these modules don't have a dependency on
      spring-web, thus they now just customize the same features:
       - MapperFeature#DEFAULT_VIEW_INCLUSION is disabled
       - DeserializationFeature#FAIL_ON_UNKNOWN_PROPERTIES is disabled
      
      Issue: SPR-12293
      fbd85925
  2. 27 10月, 2014 3 次提交
    • R
      Replace "if(" with "if (" · da612d07
      Rossen Stoyanchev 提交于
      da612d07
    • S
      Add an option to disable automatic addition of CORS header · 58f4014b
      Sebastien Deleuze 提交于
      Issues: SPR-12283
      58f4014b
    • S
      Add an option to set an Origin whitelist for Websocket and SockJS · 743356fa
      Sebastien Deleuze 提交于
      This commit introduces a new OriginHandshakeInterceptor. It filters
      Origin header value against a list of allowed origins.
      
      AbstractSockJsService as been modified to:
       - Reject CORS requests with forbidden origins
       - Disable transport types that does not support CORS when an origin
         check is required
       - Use the Origin request header value instead of "*" for
         Access-Control-Allow-Origin response header value
         (mandatory when  Access-Control-Allow-Credentials=true)
       - Return CORS header only if the request contains an Origin header
      
      It is possible to configure easily this behavior thanks to JavaConfig API
      WebSocketHandlerRegistration#addAllowedOrigins(String...) and
      StompWebSocketEndpointRegistration#addAllowedOrigins(String...).
      It is also possible to configure it using the websocket XML namespace.
      
      Please notice that this commit does not change the default behavior:
      cross origin requests are still enabled by default.
      
      Issues: SPR-12226
      743356fa
  3. 24 10月, 2014 1 次提交
    • R
      Add ImmutableMessageChannelInterceptor · 687955a7
      Rossen Stoyanchev 提交于
      This change adds a ChannelInterceptor that flips the immutable flag on
      messages being sent. This allows components sending messages to leave
      the message mutable for interceptors to further apply modifications
      before the message is sent (and exposed to concurrency).
      
      The interceptor is automatically added with the STOMP/WebSocket Java
      and XML config and the StompSubProtocolHandler leaves parsed incoming
      messages mutable so they can be further modified before being sent.
      
      Issue: SPR-12321
      687955a7
  4. 21 10月, 2014 1 次提交
  5. 14 10月, 2014 1 次提交
  6. 13 10月, 2014 1 次提交
  7. 01 10月, 2014 1 次提交
  8. 27 9月, 2014 2 次提交
  9. 25 9月, 2014 2 次提交
  10. 20 9月, 2014 1 次提交
  11. 26 8月, 2014 1 次提交
  12. 18 7月, 2014 1 次提交
  13. 17 7月, 2014 1 次提交
  14. 16 7月, 2014 4 次提交
  15. 15 7月, 2014 2 次提交
    • R
      Update support for using "." as path separator · ab2526a5
      Rossen Stoyanchev 提交于
      Issue: SPR-11660
      ab2526a5
    • S
      Allow to customize separator for messaging destinations · 928a466b
      Sebastien Deleuze 提交于
      In order to be able to use separators like "." (used by default
      by most broker relays) instead of "/" for destination patterns
      handling, the PathMatcher used in spring-messaging can now
      be customized easily thanks to XML websocket namespace
      or JavaConfig.
      
      AntPathMatcher has been updated in order to use the configured path
      separator instead of an hardcoded "/" for path concatenation.
      Extension handling is now disabled when the "." separator is configured.
      
      Issue: SPR-11660
      928a466b
  16. 11 7月, 2014 1 次提交
  17. 10 7月, 2014 1 次提交
  18. 09 7月, 2014 2 次提交
    • R
      STOMP and WebSocket messaging related logging updates · 48236be4
      Rossen Stoyanchev 提交于
      This change removes most logging at INFO level and also ensures the
      amount of information logged at DEBUG level is useful, brief, and
      not duplicated.
      
      Also added is custom logging for STOMP frames to ensure very readable
      and consise output.
      
      Issue: SPR-11934
      48236be4
    • R
      Add STOMP/WebSocket stats collection · ab4864da
      Rossen Stoyanchev 提交于
      This change adds collection of stats in key infrastructure components
      of the WebSocket message broker config setup and exposes the gathered
      information for logging and viewing (e.g. via JMX).
      
      WebSocketMessageBrokerStats is a single class that assembles all
      gathered information and by default logs it once every 15 minutes.
      Application can also easily expose to JMX through an MBeanExporter.
      
      A new section in the reference documentation provides a summary of
      the available information.
      
      Issue: SPR-11739
      ab4864da
  19. 01 7月, 2014 1 次提交
  20. 30 6月, 2014 4 次提交
  21. 26 6月, 2014 2 次提交
    • R
      Create SockJS ThreadPoolTaskScheduler extension · 6ad79e03
      Rossen Stoyanchev 提交于
      Commit 5d2e6f enabled the setRemoveOnCancelPolicy of the SockJS
      ScheduledThreadPoolExecutor by default. However that property is only
      available in JDK 1.7 or later. This change fixes the issue and
      introduces an extension of ThreadPoolTaskScheduler for for use with
      SockJS which is necessary in any case since ThreadPoolTaskScheduler
      does not expose the underlying ScheduledThreadPoolExecutor otherwise.
      
      Issue: SPR-11918
      6ad79e03
    • R
      Prevent unbounded retention of cancelled SockJS tasks · 5d2e6f6d
      Rossen Stoyanchev 提交于
      This change sets the removeOnCancelPolicy on the SockJS
      ScheduledThreadPoolExecutor to true. This ensures that cancelled
      tasks are removed immediately to avoid the "unbounded retention
      of cancelled tasks" that is mentioned in the Javadoc of
      ScheduledThreadPoolExecutor:
      
      "By default, such a cancelled task is not automatically removed from
      the work queue until its delay elapses. While this enables further
      inspection and monitoring, it may also cause unbounded retention of
      cancelled tasks. To avoid this, set setRemoveOnCancelPolicy to true,
      which causes tasks to be immediately removed from the work queue at
      time of cancellation."
      
      Issue: SPR-11918
      5d2e6f6d
  22. 10 6月, 2014 1 次提交
  23. 06 6月, 2014 1 次提交
  24. 31 5月, 2014 2 次提交
  25. 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
  26. 22 4月, 2014 1 次提交