1. 12 Feb, 2016 12 commits
    • Andy Wilkinson's avatar
      There may only be a single restart during RestarterTests.testRestart() · ae08934e
      Andy Wilkinson authored
      See gh-4097 and changes in 2522a5f9
      ae08934e
    • Stephane Nicoll's avatar
      Merge branch '1.3.x' · 85cc885f
      Stephane Nicoll authored
      85cc885f
    • Stephane Nicoll's avatar
      Allow to easily customize ListenerContainerFactory · b726974b
      Stephane Nicoll authored
      Previously, if one wants to create a custom `JmsListenerContainerFactory`
      or `RabbitListenerContainerFactory`, a bunch of code from the auto-
      configuration must be duplicated.
      
      This commit introduces two services to configure such factory for JMS
      and AMQP with the same sensible defaults that were applied by the
      auto-configufrations.
      
      Closes gh-5138
      b726974b
    • Andy Wilkinson's avatar
      Call context.close() rather than shutdown hook in DevTools restart · 2522a5f9
      Andy Wilkinson authored
      Previously, when DevTools was restarting the application it would
      use reflection to run all of the JVM's shutdown hooks. This was done
      to close any SpringApplications' application contexts. Unfortunately,
      it had the unwanted side-effect of running other shutdown hooks as
      well.
      
      The other shutdown hooks were often written with the, entirely
      reasonable, expectation that they would only be called when the JVM
      was shutting down. Calling them at another time could leave the
      hook's library in an unexpected state. One such example is Log4J2
      which was worked around in aaae4aa3 (see gh-4279). Another is the
      problem with Eureka (see gh-4097). There's no work around for this
      problem, even with reflective hackery, hence the change being made
      here.
      
      This commit updates the Restarter so that shutdown hooks are no longer
      called during a restart. This removes the chance of a restart having
      the unwanted side-effect of leaving a third-party library in a broken
      state. RestartApplicationListener now prepares the Restarter with the
      root application context, and the Restarter then closes it as part of
      the restart. The changes have been tested with an application that
      uses a single context and an application with a context hierarchy.
      
      Closes gh-4097
      2522a5f9
    • Andy Wilkinson's avatar
      Merge branch '1.3.x' · 6e3faecc
      Andy Wilkinson authored
      6e3faecc
    • Andy Wilkinson's avatar
      Improve handling of connection failures in remote debug tunnel · 1c170b35
      Andy Wilkinson authored
      Previously, if an application had been started without remote
      debugging enabled, an attempt to connect to it via
      RemoteSpringApplication and the HTTP tunnel would result in the
      application being hammered by connection attempts for 30 seconds.
      
      This commit updates the tunnel server to respond with Service
      Unavailable (503) when a connection attempt is made and the JVM
      does not have remote debugging enabled. When the client receives a
      503 response, it now logs a warning message describing the possible
      problem before closing the connection.
      
      The client has also been updated to provide improved diagnostics when
      a connection to the tunnel server cannot be established, for example
      because the remote URL is incorrect, or the remote application isn't
      running.
      
      Lastly, the client has been updated so that it continues to accept
      connections when a connection to the server is closed. This allows
      the user to correct a problem with the remote application, such as
      restarting it with remote debugging enabled, without having to also
      restart the process that's running RemoteSpringApplication.
      
      Closes gh-5021
      1c170b35
    • Andy Wilkinson's avatar
      Merge branch '1.3.x' · 11c9068d
      Andy Wilkinson authored
      11c9068d
    • Andy Wilkinson's avatar
      Only access parameters in WebRequestTraceFilter when they are included · 607dba97
      Andy Wilkinson authored
      Previously, WebRequestTraceFilter would call request.getParameterMap()
      before deciding whether or not the parameters should be included in
      the trace. For a POST request, this had the unwanted side-effect
      of always reading the request body.
      
      This commit updates WebRequestTraceFilter so that it checks that
      parameters are to be included in the trace before calling
      request.getParameterMap()
      
      Closes gh-5089
      607dba97
    • Andy Wilkinson's avatar
      Merge branch '1.3.x' · 0641d9af
      Andy Wilkinson authored
      0641d9af
    • Andy Wilkinson's avatar
      Upgrade to Tomcat 8.0.32 · 815da8b8
      Andy Wilkinson authored
      Closes gh-5122
      815da8b8
    • Andy Wilkinson's avatar
      Merge branch '1.3.x' · 9836d6ef
      Andy Wilkinson authored
      9836d6ef
    • Andy Wilkinson's avatar
  2. 11 Feb, 2016 23 commits
  3. 10 Feb, 2016 5 commits