1. 22 3月, 2019 1 次提交
  2. 19 7月, 2018 1 次提交
  3. 28 6月, 2018 1 次提交
  4. 11 7月, 2017 1 次提交
  5. 07 6月, 2017 1 次提交
    • J
      Consistent use of @Nullable across the codebase (even for internals) · f813712f
      Juergen Hoeller 提交于
      Beyond just formally declaring the current behavior, this revision actually enforces non-null behavior in selected signatures now, not tolerating null values anymore when not explicitly documented. It also changes some utility methods with historic null-in/null-out tolerance towards enforced non-null return values, making them a proper citizen in non-null assignments.
      
      Some issues are left as to-do: in particular a thorough revision of spring-test, and a few tests with unclear failures (ignored as "TODO: NULLABLE") to be sorted out in a follow-up commit.
      
      Issue: SPR-15540
      f813712f
  6. 09 12月, 2016 2 次提交
  7. 26 9月, 2016 3 次提交
  8. 20 7月, 2016 1 次提交
  9. 13 3月, 2015 1 次提交
    • R
      Add STOMP client · d30b3eaf
      Rossen Stoyanchev 提交于
      WebSocketStompClient can be used with any implementation of
      org.springframework.web.socket.client.WebSocketClient, which includes
      org.springframework.web.socket.sockjs.client.SockJsClient.
      
      Reactor11TcpStompClient can be used with reactor-net and provides STOMP
      over TCP. It's also possible to adapt other WebSocket and TCP client
      libraries (see StompClientSupport for more details).
      
      For example usage see WebSocketStompClientIntegrationTests.
      
      Issue: SPR-11588
      d30b3eaf
  10. 11 11月, 2014 1 次提交
  11. 21 10月, 2014 1 次提交
  12. 11 7月, 2014 1 次提交
  13. 09 7月, 2014 1 次提交
    • 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
  14. 27 6月, 2014 1 次提交
    • R
      Fine tune STOMP and WebSocket related logging · 113fd118
      Rossen Stoyanchev 提交于
      Optimize logging with tracking the opening and closing of WebSocket
      sessions and STOMP broker connections in mind.
      
      While the volume of messages makes it impractical to log every message
      at anything higher than TRACE, the opening and closing of connections
      is more manageable and can be logged at INFO. This makes it possible to
      drop to INFO in production and get useful information without getting
      too much in a short period of time.
      
      The logging is also optimized to avoid providing the same information
      from multiple places since messages pass through multiple layers.
      
      Issue: SPR-11884
      113fd118
  15. 14 4月, 2014 1 次提交
    • R
      Enhance MessageHeaderAccessor support · 4867546a
      Rossen Stoyanchev 提交于
      Refine semantics of ID and TIMESTAMP headers provided to protected
      MessageHeaders constructor.
      
      Refactor internal implementation of MessageHeaderAccessor.
      
      Support mutating headers from a single thread while a message is being
      built (e.g. StompDecoder creating message + then adding session id).
      
      Improve immutablity in NativeMessageHeaderAccessor and in
      StompHeaderAccessor.
      
      Optimize object creation for initializing messages and subsequent
      accessing their headers.
      
      Introduce MessageHeaderAccessorFactory support to enable applying a
      common strategies for ID and TIMESTAMP generation to every message.
      
      Add MessageBuilder shortcut factory method for creating messages from
      payload and a full-prepared MessageHeaders instance. Also add
      equivalent constructors to GenericMessage and ErrorMessage.
      
      Issue: SPR-11468
      4867546a
  16. 28 3月, 2014 2 次提交
  17. 25 3月, 2014 1 次提交
  18. 13 11月, 2013 1 次提交
    • R
      Improve logging in spring-messaging · df5d22e1
      Rossen Stoyanchev 提交于
      Before this change the amount of logging was too little or too much
      with TRACE turned on. This change separates useful debugging
      information and logs it under DEBUG and leaves more detailed
      information to be logged under TRACE.
      df5d22e1
  19. 15 10月, 2013 1 次提交
  20. 03 10月, 2013 1 次提交
    • 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
  21. 27 9月, 2013 2 次提交
    • 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
    • A
      Add StompCodec · a489c2cf
      Andy Wilkinson 提交于
      Previously, the broker relay's TCP client used Reactor's built in
      delimited codec as part of its parsing of STOMP frames. \0 was used as
      the delimiter. This worked for most STOMP frames but, crucially,
      not for frames with a body that contained \0: when such a frame was
      received it would be truncated.
      
      This commit adds a custom codec that parses STOMP frames more
      intelligently. It honours the content-length header allowing it to
      correctly parse frames with a body that contains \0. The codec largely
      delegates to two new classes: StompEncoder and StompDecoder. For
      consistency, code that previously used StompMessageConverter has been
      reworked to use these new encoder and decoder classes.
      
      Issue: SPR-10818
      a489c2cf