1. 20 Jun, 2016 9 commits
    • Andy Wilkinson's avatar
      Upgrade to Tomcat 8.5.3 · f28e3d54
      Andy Wilkinson authored
      This commit changes the default version of Tomcat to 8.5.3 while
      also retaining support for Tomcat 8.0 and 7.0. The main difference
      in 8.5 is that the ServerSocketFactory abstraction that allowed the
      TrustStore and KeyStore to be configured programatically no longer
      exists. This logic has been replaced with the use of a custom URL
      protocol (springbootssl) that provides access to the key store and
      trust store of an SslStoreProvider. In addition to working with 8.5,
      this approach has the advantage of also working with 8.0 and 7.0.
      
      Closes gh-6164
      f28e3d54
    • Stephane Nicoll's avatar
      Use `@AliasFor` when applicable · 06b81cf1
      Stephane Nicoll authored
      This commit adds `@AliasFor` meta-data to annotations that declare an
      alias attribute.
      
      `@ConditionalOnProperty` and `@AutoconfigureRestDocs` were not migrated
      due to the use of `AnnotationMetadata#getAnnotationAttributes`.
      
      Closes gh-5187
      06b81cf1
    • Stephane Nicoll's avatar
      Merge pull request #6188 from izeye:json · 62a41aee
      Stephane Nicoll authored
      * pr/6188:
        Reuse objects in JsonParser implementations
      62a41aee
    • Johnny Lim's avatar
      Reuse objects in JsonParser implementations · 25f37da4
      Johnny Lim authored
      Closes gh-6188
      25f37da4
    • Stephane Nicoll's avatar
      Merge branch '1.3.x' · e3837521
      Stephane Nicoll authored
      e3837521
    • Stephane Nicoll's avatar
      Merge pull request #6184 from artembilan:GH-6183 · e93aa205
      Stephane Nicoll authored
      * pr/6184:
        Fix relaxed binding of SI JMX config
      e93aa205
    • Artem Bilan's avatar
      Fix relaxed binding of SI JMX config · 3ea84f9e
      Artem Bilan authored
      Instead of using an expression for JMX-related properties, this commit
      properly honors relaxed binding.
      
      Closes gh-6184
      3ea84f9e
    • Stephane Nicoll's avatar
      Fix build failure · 976f0a7a
      Stephane Nicoll authored
      Fixing #5939 lead to a build failure as OAuth2 related configuration was
      defined twice. This is also related to #5973.
      976f0a7a
    • Stephane Nicoll's avatar
      Prevent several registration of the same config pojo · 5407cf5f
      Stephane Nicoll authored
      This commit detects case where the same set of keys are exposed several
      times and prevents the compilation to complete. Previously, duplicate
      keys were silently added to the meta-data.
      
      Closes gh-5939
      5407cf5f
  2. 18 Jun, 2016 2 commits
  3. 17 Jun, 2016 14 commits
    • Andy Wilkinson's avatar
      Polish · 971913e6
      Andy Wilkinson authored
      971913e6
    • Stephane Nicoll's avatar
      Merge branch '1.3.x' · 3799496d
      Stephane Nicoll authored
      3799496d
    • Stephane Nicoll's avatar
      Fix HAL browser entry point with contextPath · 9abca48a
      Stephane Nicoll authored
      Previously, if the `contextPath` of the application wasn't the root, the
      HAL browser could not initialize since the `entryPoint` was referring to
      an invalid location.
      
      This commit makes sure to take the `contextPath` into account.
      
      Closes gh-5814
      9abca48a
    • Stephane Nicoll's avatar
      Update .gitignore · 72b88790
      Stephane Nicoll authored
      72b88790
    • Andy Wilkinson's avatar
      f5f116d6
    • Andy Wilkinson's avatar
      Defer Tomcat’s session ID generator initialization until it’s needed · f0ce0e3e
      Andy Wilkinson authored
      By default, Tomcat forces the generation of a session id during startup
      to ensure that a SecureRandom instance has been initialized. When there
      is a lack of entropy (as is often the case on a newly booted VPS, for
      example) this can block for a long time (several minutes in some cases)
      causing users to incorrectly believe that their application has hung
      during startup. This is particularly problematic for applications that
      don't use HTTP sessions as they are paying the startup cost for no
      benefit.
      
      This commit address the problem by configuring a custom
      SessionIdGenerator that does not initialize itself during startup.
      Instead, the initialization is now deferred until a request for a
      session id is made.
      
      Closes gh-6174
      f0ce0e3e
    • Stephane Nicoll's avatar
      Polish · bce6bd65
      Stephane Nicoll authored
      bce6bd65
    • Stephane Nicoll's avatar
      Enable SSL from MongoClientOptions · 7b5df365
      Stephane Nicoll authored
      Closes gh-5099
      7b5df365
    • Andy Wilkinson's avatar
      Merge branch '1.3.x' · fa0a137c
      Andy Wilkinson authored
      fa0a137c
    • Andy Wilkinson's avatar
      Prevent GC pressure from causing an NPE in SimpleInMemoryRepository · a2446080
      Andy Wilkinson authored
      Previously, SimpleInMemoryRepository used a ConcurrentReferenceHashMap
      to store its locks. The type of map will discard its entries when the
      JVM comes under GC pressure. With the code in its previous form, this
      could lead to a NullPointerException when the following occurred:
      
      1. putIfAbsent returned null indicating that a new entry has been added
         to the map
      2. GC pressure caused the map to discard the new entry
      3. get returned null as the entry has been discard
      
      There are two problems with the existing code:
      
      1. Its usage of a ConcurrentMap is incorrect. The correct usage is:
         a. Call get to see if the map already contains a lock
         b. If the lock is null, create a new one
         c. Call putIfAbsent to add the new lock
         d. If the return value is non-null, another thread has created the
            lock and it should be used. If the return value is null, use the
            new lock created in b.
      2. Once the use of ConcurrentMap has been corrected, the fact that it is
         a ConcurrentReferenceHashMap means that different threads could
         access the same value using different locks. This would occur if one
         thread has retrieved a lock from the map and is using it, while GC
         causes the lock to be removed from the map. Another thread then
         attempts to get the lock and, as GC pressure has remove it, a new
         lock is created allowing concurrent access to the same value.
      
      This commit updates the code to use the ConcurrentMap correctly and also
      replaces the ConcurrentReferenceHashMap with a ConcurrentHashMap. This
      means that the repository will now use slightly more memory but this is
      outweighed by the benefits of thread-safe updates and no risk of an NPE.
      
      Closes gh-6115
      a2446080
    • Stephane Nicoll's avatar
      Upgrade to Hibernate 5.2 · 2ff9e3cf
      Stephane Nicoll authored
      See gh-6111
      2ff9e3cf
    • Andy Wilkinson's avatar
      Merge branch '1.3.x' · d9d26cba
      Andy Wilkinson authored
      d9d26cba
    • Andy Wilkinson's avatar
      Prevent JVM from exiting with 1 when main thread is only non-daemon · 13635201
      Andy Wilkinson authored
      DevTools deliberately throws an uncaught exception on the main thread
      as a safe way of causing it to stop processing. This exception is
      caught and swallowed by an uncaught exception handler. Unfortunately,
      this has the unwanted side-effect of causing the JVM to exit with 1
      once all running threads are daemons.
      
      Normally, this isn't a problem. Non-daemon threads, such as those
      started by an embedded servlet container, will keep the JVM alive and
      restarts of the application context will occur when the user makes to
      their application. However, if the user adds DevTools to an
      application that doesn't start any non-daemon threads, i.e. it starts,
      runs, and then exits, it will exit with 1. This causes both
      bootRun in Gradle and spring-boot:run in Maven to report that the
      build has failed. While there's no benefit to using DevTools with an
      application that behaves in this way, the side-effect of causing the
      JVM to exit with 1 is unwanted.
      
      This commit address the problem by updating the uncaught exception
      handler to call System.exit(0) if the JVM is going to exit as a
      result of the uncaught exception causing the main thread to die. In
      other words, if the main thread was the only non-daemon thread, its
      death as a result of the uncaught exception will now cause the JVM
      to exit with 1 rather than 0. If there are other non-daemon threads
      that will keep the JVM alive, the behaviour is unchanged.
      
      Closes gh-5968
      13635201
    • Stephane Nicoll's avatar
      Add secured connection support to Artemis · a273d8d0
      Stephane Nicoll authored
      This commit aligns the feature introduced in gh-6071 to Artemis.
      
      Closes gh-6179
      a273d8d0
  4. 16 Jun, 2016 14 commits
  5. 15 Jun, 2016 1 commit