1. 22 3月, 2019 1 次提交
  2. 21 10月, 2017 1 次提交
  3. 20 9月, 2017 1 次提交
  4. 30 6月, 2017 1 次提交
  5. 31 5月, 2017 1 次提交
  6. 26 1月, 2017 1 次提交
    • R
      Align setup of SockJS and WebSocket integration tests · ea67a637
      Rossen Stoyanchev 提交于
      Failures in JettySockJsIntegrationTests after the upgrade to 9.4 were
      hidden due to the PERFORMANCE test group but were failing on the CI
      performance build with IllegalStateException inside Jetty on
      "Failure find the required ServletContext attribute
      org.eclipse.jetty.util.DecoratedObjectFactory".
      ea67a637
  7. 20 7月, 2016 1 次提交
  8. 05 7月, 2016 1 次提交
  9. 25 3月, 2016 1 次提交
  10. 22 8月, 2015 1 次提交
  11. 29 7月, 2015 2 次提交
    • R
      Simplify use of headers for SockJsClient requests · b7bdd724
      Rossen Stoyanchev 提交于
      Before this change, XhrTransport implementations had to be configured
      with the headers to use for HTTP requests other than the initial
      handshake.
      
      After this change the handshake headers passed to SockJsClient by
      default are used for all other HTTP requests related to the SockJS
      connection (e.g. info request, xhr send/receive). A property on
      SockJsClient allows restricting the headers to use for other HTTP
      requests to a subset of the handshake headers.
      
      Issue: SPR-13254
      b7bdd724
    • R
      Polish SockJS client · 9f557cf9
      Rossen Stoyanchev 提交于
      9f557cf9
  12. 25 6月, 2015 1 次提交
    • S
      Refactor WebSocket int. tests to work w/ Jetty 9.3 · e8c8d2a6
      Sam Brannen 提交于
      Recent builds of Jetty 9.3 require that Jetty's own ServletContext
      implementation be supplied to WebSocketServerFactory's init() method.
      Otherwise, the Jetty server will fail to start with the exception
      message: "Not running on Jetty, WebSocket support unavailable".
      
      This commit refactors AbstractWebSocketIntegrationTests,
      AbstractSockJsIntegrationTests, and all WebSocketTestServer
      implementations in order to support this new requirement.
      
      Specifically:
      
      - WebSocketTestServer defines a new getServletContext() method;
        TomcatWebSocketTestServer, UndertowTestServer, and
        JettyWebSocketTestServer have all been updated to return the
        ServletContext created by the embedded server.
      
      - The setup() methods in AbstractWebSocketIntegrationTests and
        AbstractSockJsIntegrationTests have been updated so that the
        WebApplicationContext is supplied the appropriate ServletContext,
        after deployConfig() has been invoked on the WebSocketTestServer but
        before the WebApplicationContext is refreshed.
      
      Issue: SPR-13162
      e8c8d2a6
  13. 24 6月, 2015 1 次提交
    • R
      Fix failure in performance build · 8b507505
      Rossen Stoyanchev 提交于
      The JettySockJsIntegrationTests are enabled in the performance build
      only. Following the upgrade to Jetty 9.3 where the
      JettyRequestUpgradeStrategy is now Lifecycle as wel as
      ServletContextAware, we need to make sure the ApplicationContext
      refresh occurs after the ServletContext has been set. This change
      removes the explicit .refresh() call in the test setup and instead
      relies on the DispatcherServlet to do that, which ensures that the
      ServletContext with which it is initialized by Jetty has been set
      on the ApplicationContext before that.
      8b507505
  14. 19 5月, 2015 1 次提交
  15. 18 3月, 2015 1 次提交
  16. 06 1月, 2015 1 次提交
    • R
      Assign Jetty SockJS tests to "performance" test group · 8a47c181
      Rossen Stoyanchev 提交于
      This change designates Jetty SockJS integration tests to run as part of
      the "performance", but not the main "publication", CI build due to
      recurring low-level failures suspected to be Jetty issues, e.g.
      "java.io.IOException: Cannot append to finished buffer" or
      "java.io.IOException: Out of order Continuation frame encountered".
      
      The tests will still run at once a day with the performance build but
      should not fail the main build with false negatives. Also note that
      an Undertow variant of the exact same tests, which hasn't been failing,
      will continue to run as part of the main build.
      8a47c181
  17. 01 11月, 2014 1 次提交
  18. 29 10月, 2014 1 次提交
  19. 21 10月, 2014 1 次提交
  20. 14 10月, 2014 1 次提交
  21. 08 10月, 2014 1 次提交
    • B
      SockJs client: add an XhrTransport for Undertow · 4cf19df4
      Brian Clozel 提交于
      This change adds a new XhrTransport for the SockJs client
      implementation. This transport is based on `UndertowClient`,
      Undertow's HTTP client.
      
      Note that this transport can be customized with an OptionMap that is
      used by the Xnio worker backing the I/O communications (see
      http://xnio.jboss.org).
      
      Implementation tested with undertow 1.0.36, 1.1.0.RC3, 1.2.0.Beta1.
      
      Issue: SPR-12008
      4cf19df4
  22. 04 9月, 2014 1 次提交
  23. 12 8月, 2014 1 次提交
  24. 04 8月, 2014 1 次提交
  25. 31 7月, 2014 1 次提交
  26. 30 7月, 2014 1 次提交
  27. 23 7月, 2014 1 次提交
  28. 18 7月, 2014 1 次提交
  29. 16 7月, 2014 1 次提交
  30. 11 7月, 2014 1 次提交
  31. 03 7月, 2014 1 次提交
  32. 26 6月, 2014 3 次提交
    • R
      Improve JettySockJsIntegrationTests to show real error · 9796af72
      Rossen Stoyanchev 提交于
      In a recent CI build failure a test timed out waiting for a message:
      https://build.spring.io/browse/SPR-PUB-1316
      
      In fact there was a WebSocket transport failure originating in Jetty's
      WebSocket Parser. However this failure is only apparent by looking at
      the logs. This change adds a check if a transport error ocurred while
      we were waiting and throws an AssertionError.
      9796af72
    • R
      Fix concurrency issues in SockJS session impls · fcf6ae83
      Rossen Stoyanchev 提交于
      This change ensures the server "WebSocketHandler" is notified of the
      opening of a session before writing the open frame to the remote
      handler. Any messages sent by the server "WebSocketHandler" while
      getting notified of the opening get cached and flushed after the open
      frame has been written.
      
      This change introduces locking in AbtractHttpSockJsSession to guard
      access to the HTTP response. The goal is to prevent contention between
      client requests to receive messages (i.e. long polling) and
      the application trying to write.
      
      Issue: SPR-11916
      fcf6ae83
    • R
      Add SockJS client · e82df99a
      Rossen Stoyanchev 提交于
      This change adds a new implementation of WebSocketClient that can
      connect to a SockJS server using one of the SockJS transports
      "websocket", "xhr_streaming", or "xhr". From a client perspective
      there is no implementation difference between "xhr_streaming" and
      "xhr". Just keep receiving and when the response is complete,
      start over. Other SockJS transports are browser specific
      and therefore not relevant in Java ("eventsource", "htmlfile" or
      iframe based variations).
      
      The client loosely mimics the behavior of the JavaScript SockJS client.
      First it sends an info request to find the server capabilities,
      then it tries to connect with each configured transport, falling
      back, or forcing a timeout and then falling back, until one of the
      configured transports succeeds.
      
      The WebSocketTransport can be configured with any Spring Framework
      WebSocketClient implementation (currently JSR-356 or Jetty 9).
      
      The XhrTransport currently has a RestTemplate-based and a Jetty
      HttpClient-based implementations. To use those to simulate a large
      number of users be sure to configure Jetty's HttpClient executor
      and maxConnectionsPerDestination to high numbers. The same is true
      for whichever underlying HTTP library is used with the RestTemplate
      (e.g. maxConnPerRoute and maxConnTotal in Apache HttpComponents).
      
      Issue: SPR-10797
      e82df99a