1. 27 Apr, 2015 1 commit
    • Andy Wilkinson's avatar
      Work around problems with GemFire 8.0’s dependencies · e6dfd7c5
      Andy Wilkinson authored
      GemFire 8.0 depends on two different versions of xml-apis:xml-apis and
      org.eclipse.jdt.core.compiler:ecj. This commit adds dependency
      management for those two dependencies to address the dependency
      convergence errors reported by Maven’s enforcer plugin.
      
      GemFire 8.0 also depends on commons-logging and Spring Boot starters
      should use jcl-over-slf4j instead. This commit adds an exclusion for
      commons-logging
      
      GemFire 8.0 depends (optionally) on spring-data-gemfire and
      spring-data-gemfire depends on GemFire, i.e. there’s a dependency cycle
      between the two projects. This commit breaks this cycle by adding an
      exclusion for spring-data-gemfire to the dependency management for
      com.gemstone.gemfire:gemfire.
      
      This commit should be reverted once the problems with GemFire’s
      dependencies have been addressed. See gh-2884.
      e6dfd7c5
  2. 22 Apr, 2015 3 commits
  3. 21 Apr, 2015 16 commits
  4. 17 Apr, 2015 2 commits
  5. 16 Apr, 2015 6 commits
    • Phillip Webb's avatar
      Refactor CacheStatisticsProvider to use generics · 0451f16a
      Phillip Webb authored
      Update CacheStatisticsProvider to use a generic to indicate the type
      of cache supported. Also extract individual CacheStatisticsProvider
      implementations and made statistics an auto-configuration.
      
      See gh-2633
      0451f16a
    • Phillip Webb's avatar
      Revert "Add start/stop goals to maven plugin" · a8d099f6
      Phillip Webb authored
      This reverts commit 54e12a07.
      a8d099f6
    • Andy Wilkinson's avatar
      Work around the behaviour change in latest Spring 4.2 snapshots · 2085a5b0
      Andy Wilkinson authored
      The changes made in spring-projects/spring-framework@e403aefe cause
      SampleTomcatTwoConnectorsApplication to fail to launch. The port bean,
      typed as an int, is coerced into an Integer when the bean’s created. The
      port() method is then called, and the proxy’s bean method interceptor
      complains as it’s expecting the port bean to be an int but it’s actually
      an Integer. Changing the port() bean method’s return type to Integer
      works around the problem.
      2085a5b0
    • Stephane Nicoll's avatar
      Add start/stop goals to maven plugin · 54e12a07
      Stephane Nicoll authored
      SpringApplicationLifecycle provides lifecycle operations on the current
      Spring Boot application. It can be registered as an MBean of the platform
      MBean server if a specific property is set. Besides, the JMX name can
      also be customized via a property in case more than one Spring Boot
      application is started in the same process.
      
      The Maven plugin uses that MBean to check that the application is ready
      before ending the "start" phase. It uses it to trigger a proper shutdown
      of the application during the "stop" phase.
      
      If the process has to be forked, the platform MBean server is exposed on
      a configurable port so that the maven plugin can connect to it.
      
      Such change permits the maven plugin to integrate a classical integration
      test scenario where the "start" goal is invoked during the
      pre-integration phase and the "stop" goal during the post-integration
      phase.
      
      Closes gh-2525
      54e12a07
    • Andy Wilkinson's avatar
      Merge branch '1.2.x' · 92702b4c
      Andy Wilkinson authored
      92702b4c
    • Andy Wilkinson's avatar
      Support String values for factoryBeanObjectType attribute on bean def · 337673b3
      Andy Wilkinson authored
      To allow us to determine the type that Spring Integration’s
      GatewayProxyFactoryBean will create, the bean definition created by
      MessagingGatewayRegistrar needs to set the factoryBeanObjectType
      attribute. The current implementation of BeanTypeRegistry requires the
      attribute’s value to be a Class, however this would require Spring
      Integration’s namespace handler to load the class and class loading
      should be avoided in namespace handlers.
      
      This commit updates BeanTypeRegistry so that it supports both Class and
      String values for the factoryBeanObjectType. If the value is a String
      it will interpret it as a class name and attempt to load it.
      
      See gh-2811
      337673b3
  6. 15 Apr, 2015 5 commits
    • Andy Wilkinson's avatar
      Merge branch '1.2.x' · 02859cc2
      Andy Wilkinson authored
      02859cc2
    • Andy Wilkinson's avatar
      Read the time of a JarEntryData using MSDOS Date Time format · ebb8d0c5
      Andy Wilkinson authored
      The format is rather unusual.
      
      The time is 16 bits: 5 bits for the hour, 6 bits for the minutes, and 5
      bits for the seconds. 5 bits only allows 32 values (0-31) so the number
      must be doubled, meaning that the time is only accurate to the nearest
      two seconds. Also, the JDK rounds this down by subtracting one. The
      doubling and rounding is performed by shifting one place to the left
      and masking off the right-most bit respectively.
      
      The date is 16 bits: 7 bits for the year, 4 bits for the month, and 5
      bits for the day. The year is from 1980, i.e. the earliest date that
      can be represented is 1980-01-01.
      
      See http://mindprod.com/jgloss/zip.html for more details of the format.
      
      Fixes gh-2826
      ebb8d0c5
    • Andy Wilkinson's avatar
      Merge branch '1.2.x' · 3f44a6fc
      Andy Wilkinson authored
      3f44a6fc
    • Andy Wilkinson's avatar
      Don’t start child context for actuator endpoints when not embedded · 764e34b9
      Andy Wilkinson authored
      Prior to this commit, EndpointWebMvcAutoConfiguration would start a
      child context if the management port was different to the server port
      and the application context was a web application context. This caused
      two problems:
      
      If a user built an executable war and configured the management port so
      that it was different to the server port, their application would run
      successfully when launched with java -jar, but it would fail when
      deployed to Tomcat as an attempt would be made to start embedded Tomcat.
      
      Secondly, if a user ran a test annotated with @WebAppConfiguration the
      main embedded Tomcat instance would not be started, but the child
      context would trigger the creation of a Tomcat instance listening on the
      configured management port. This is unexpected as @WebIntegrationTest
      or @IntegrationTest and @WebAppConfiguration should be required to have
      the test trigger full startup of the application and listen on the
      configured ports.
      
      This commit updates EndpointWebMvcAutoConfiguration so that it will only
      start a child context when the management port is different to the
      server port and the EmbeddedWebApplicationContext has an embedded
      servlet container. This resolves the two problems described above as
      there will be no embedded servlet container when deployed to a
      standalone container or when a test is run without @IntegrationTest.
      
      Fixes gh-2798
      764e34b9
    • Andy Wilkinson's avatar
      When cache names clash include clash manager name in all prefixes · 825d01ea
      Andy Wilkinson authored
      Previously, when multiple cache managers had a cache with the same name,
      the prefix for the first cache that was processed would not include its
      cache manager’s name, but all subsequent prefixes would include the
      cache manager’s name. This was inconsistent, and due to the cache
      managers being unordered, the prefixing was not deterministic.
      
      This commit updates the prefixing logic so that when there is a clash,
      all of the affected prefixes will include the name of the cache manager.
      For example, with cache managers named first and second and each
      with a cache named users, the prefixes will be cache.first_users and
      cache.second_users rather than cache.users and
      cache.{first|second}_users.
      
      Closes gh-2824
      825d01ea
  7. 14 Apr, 2015 7 commits
    • Phillip Webb's avatar
      Fix broken RepackerTests on Windows · c2e2bc87
      Phillip Webb authored
      Update test to deal with the fact that POSIX operations aren't available
      on Windows.
      
      Fixes gh-1117
      c2e2bc87
    • Andy Wilkinson's avatar
      Improve diagnostics in PublicMetricsAutoConfigurationTests · 834276aa
      Andy Wilkinson authored
      multipleCacheManagers fails on the CI server but does not fail
      locally. This commit updates assertMetrics to include information
      about the actual metrics so it's clear why the expectation was not
      met.
      834276aa
    • Andy Wilkinson's avatar
      Update to Dependency Management Plugin 0.5.0.RELEASE · dcd0eb78
      Andy Wilkinson authored
      Closes gh-2822
      dcd0eb78
    • Stephane Nicoll's avatar
      Expose cache statistics as metrics · bbbb34a6
      Stephane Nicoll authored
      Add an abstraction that provides a standard manner to retrieve a
      statistics snapshot of a cache.
      
      Specific implementations for JSR-107, ehcache, hazelcast, guava and
      concurrent map are provided. At the moment the size of the cache and
      the hit/miss ratios are recorded. Cache metrics are exposed via the
      `cache.` prefix followed by the name of the cache. In case of conflict,
      the name of the cache manager is added as a qualifier.
      
      It is possible to easily register a new CacheStatisticsProvider for an
      unsupported cache system and the CacheStatistics object itself can be
      extended to provide additional metrics.
      
      See gh-2633
      Closes gh-2770
      bbbb34a6
    • Stephane Nicoll's avatar
      Add TransactionTemplate auto-configuration · 578bd5dc
      Stephane Nicoll authored
      Provide a TransactionTemplate if one PlatformTransactionManager is
      present.
      
      Relocated the jta support as a nested package of the new transaction
      package that hosts the transaction template auto-configuration. To avoid
      package tangles, links between auto-configurations have been reversed.
      
      Closes gh-2464
      Closes gh-2809
      578bd5dc
    • Andy Wilkinson's avatar
      Upgrade to Undertow 1.2.0.CR1 · cee8c5c1
      Andy Wilkinson authored
      See gh-2821
      cee8c5c1
    • Stephane Nicoll's avatar
      Merge pull request #2749 from eddumelendez/gh-2633-docs · 5d57f51b
      Stephane Nicoll authored
      * gh-2633-docs:
        Add spring.cache keys documentation
      5d57f51b