1. 25 Mar, 2015 2 commits
  2. 24 Mar, 2015 5 commits
  3. 23 Mar, 2015 4 commits
  4. 22 Mar, 2015 1 commit
    • Marcel Overdijk's avatar
      Update doc · c0c67f25
      Marcel Overdijk authored
      Add note about escaping Spring property placeholders when using Gradle
      automatic expansion.
      
      Closes gh-2695
      c0c67f25
  5. 19 Mar, 2015 2 commits
  6. 18 Mar, 2015 2 commits
  7. 17 Mar, 2015 8 commits
  8. 16 Mar, 2015 7 commits
  9. 10 Mar, 2015 1 commit
  10. 05 Mar, 2015 1 commit
    • Andy Wilkinson's avatar
      Tolerate Gauges with non-Number values · 743482ab
      Andy Wilkinson authored
      Spring Boot's metrics infrastructure requires a Metric to have a
      Number value. Coda Hale's ThreadStatesGaugeSet includes a Gauge
      named deadlocks with a Set<String> value (each entry in the set is a
      description, including stacktrace, of a deadlocked thread). There's
      no obvious way to coerce this to a Number, and there's already a
      deadlocks.count metric in the set.
      
      This commit updates MetricRegistryMetricReader to ignore the addition
      of any Gauge with a non-Number value.
      
      Fixes gh-2593
      743482ab
  11. 04 Mar, 2015 6 commits
    • Andy Wilkinson's avatar
      Merge branch '1.1.x' into 1.2.x · 9f0654bd
      Andy Wilkinson authored
      Conflicts:
      	spring-boot-dependencies/pom.xml
      9f0654bd
    • Andy Wilkinson's avatar
      Upgrade to Freemarker 2.3.22 · 44d98c61
      Andy Wilkinson authored
      Closes gh-2581
      44d98c61
    • Andy Wilkinson's avatar
      Tolerate removal of JacksonJodaFormat in Jackson 2.5 · 71dde3ec
      Andy Wilkinson authored
      We currently officially support Jackson 2.4, but some users wish to
      use Jackson 2.5. This causes a failure as JacksonAutoConfiguration
      depends on JacksonJodaFormat which exists in 2.4 but not in 2.5. This
      commit updates JodaDataTimeJacksonConfiguration to make it conditional
      on JacksonJodaFormat being on the classpath. This means that Jackson
      2.5 users will not have configurable DateTime formatting
      (added in 201fb5e5) but things will generally work once again.
      
      Closes gh-2573
      71dde3ec
    • Andy Wilkinson's avatar
      Don’t use findAvailableTcpPort to allocate Undertow a random port · e927f52f
      Andy Wilkinson authored
      Using findAvailableTcpPort is prone to failure when another process
      starts using the available port before Undertow starts. This commit
      changes UndertowEmbeddedServletContainerFactory to pass the value of
      zero down into Undertow where it will ultimately be passed to a
      ServerSocket which will then use the underlying OS’s support for binding
      to an available port.
      
      Undertow doesn’t provide an API for getting the port(s) on which it’s
      listening. Previously, reflection was being used to access the listener
      configuration but, when a random port is used, this configuration would
      return zero rather than the actual port. The reflective logic has been
      updated to look at Undertow’s channels from which the underlying
      ServerSocket can be accessed and the local port retrieved
      
      Closes gh-2584
      e927f52f
    • Andy Wilkinson's avatar
      Improve thread-safety of MetricRegistryMetricReader · 4487823f
      Andy Wilkinson authored
      ee567fa8 boldy claimed that it had made MetricRegistryMetricReader
      thread-safe. It had not. This commit should actually make it thread
      safe. I hope.
      
      One notable improvement is that MetricRegistryMetricReader.findAll()
      will no longer contain null values if a metric is removed on another
      thread during iteration.
      
      names is now a ConcurrentHashMap to allow it to be safely read and
      written without holding a lock.
      
      reverse is a LinkedMultiValueMap  which is not thread-safe. This could
      lead to values being lost when concurrent add calls were made. Access
      to reverse is now protected by synchronizing on an internal monitor
      object.
      
      Calls to containsKey(key) followed by get(key) have been reworked to
      only call get(key), this avoids the possibility of the key being
      removed after the contains check but before the get.
      
      Closes gh-2590
      4487823f
    • Andy Wilkinson's avatar
      Honor unpack for war files · f761916b
      Andy Wilkinson authored
      Previously repackaging of an archive was performed in three steps:
      
      1. Write the manifest
      2. Write entries from the source archive into the destination
      3. Write any libraries into the destination if they’re not already there
      
      This worked fine for jar files, but not for war files. In the war file
      case the libraries are already in the source archive’s WEB-INF/lib
      directory so they’re copied into the destination in step 2. This means
      that step 3 largely becomes a no-op and, crucially, the UNPACK comment
      is not applied to any libraries that require it.
      
      This commit reorders steps 2 and 3 so that the libraries are copied into
      the destination first (allowing the UNPACK comment to be written, if
      required) and then any entries in the source are written into the
      destination if they’re not already there.
      
      Fixes gh-2588
      f761916b
  12. 03 Mar, 2015 1 commit
    • Andy Wilkinson's avatar
      Make MetricRegistryMetricReader thread-safe · ee567fa8
      Andy Wilkinson authored
      MetricRegistryMetricReader’s fields where neither final, nor volatile
      but could be accessed on multiple threads. This lead to visibility
      problems where the value of a field would unexpectedly be null, causing
      an NPE.
      
      This commit updates all of the fields to declare them as final, thereby
      ensuring that their values are guaranteed to be visible across different
      threads.
      
      Fixes gh-2590
      ee567fa8