1. 12 9月, 2014 1 次提交
  2. 04 9月, 2014 3 次提交
  3. 22 8月, 2014 3 次提交
  4. 20 8月, 2014 1 次提交
  5. 13 8月, 2014 1 次提交
  6. 06 8月, 2014 1 次提交
    • D
      Change GenericConversionService to better handle enum · d0e6f0f7
      David Haraburda 提交于
      Prior to this commit, given an enum which implements some interface,
      GenericConversionService would select the String -> Enum converter even
      if a converter for String -> SomeInterface was registered.  This also
      affected converters that were registered for String ->
      SomeBaseInterface, when SomeInterface extended SomeBaseInterface.
      
      This change modifies the behavior of the private method
      getClassHierarchy() by placing Enum.class as late as possible, pretty
      much the same way as Object.class is handled.
      
      Issue: SPR-12050
      d0e6f0f7
  7. 16 7月, 2014 2 次提交
  8. 15 7月, 2014 2 次提交
    • R
      Update support for using "." as path separator · ab2526a5
      Rossen Stoyanchev 提交于
      Issue: SPR-11660
      ab2526a5
    • S
      Allow to customize separator for messaging destinations · 928a466b
      Sebastien Deleuze 提交于
      In order to be able to use separators like "." (used by default
      by most broker relays) instead of "/" for destination patterns
      handling, the PathMatcher used in spring-messaging can now
      be customized easily thanks to XML websocket namespace
      or JavaConfig.
      
      AntPathMatcher has been updated in order to use the configured path
      separator instead of an hardcoded "/" for path concatenation.
      Extension handling is now disabled when the "." separator is configured.
      
      Issue: SPR-11660
      928a466b
  9. 10 7月, 2014 2 次提交
  10. 25 6月, 2014 1 次提交
  11. 17 6月, 2014 3 次提交
    • R
      Revise SettableListenableFuture implementation · 0640a328
      Rossen Stoyanchev 提交于
      This change modifies the SettableListenableFuture implementation to use
      internally a ListenableFutureTask created with a "settable" Callable.
      
      Issue: SPR-11614
      0640a328
    • M
      Created SettableListenableFuture with tests · 38b525aa
      Mattias Severson 提交于
      A SettableListenableFuture implementation of Spring's ListenableFuture
      The class is inspired by Google Guava’s
      com.google.common.util.concurrent.SettableFuture, but this
      implementation uses ReentrantReadWriteLock and CountDownLatch
      internally to handle thread synchronization.
      
      Issue: SPR-11614
      38b525aa
    • R
      Support java.util.Optional for @mvc named value args · 0dc6082b
      Rossen Stoyanchev 提交于
      After this change, java.util.Optional is supported with @RequestParam,
      @RequestHeader, and @MatrixVariable arguments in Java 8. When Optional
      is used the required flag is effectively ignored.
      
      Issue: SPR-11829
      0dc6082b
  12. 12 6月, 2014 3 次提交
    • B
      Rollback AntPathMatcher behavior for ".*" comparisons · d746e3fb
      Brian Clozel 提交于
      Prior to this commit, AntPathMatcher had been refactored for SPR-6741.
      During that process, a key feature has been removed:
      When comparing two patterns, pattern elements (*, {}, etc) are counted
      to score those patterns. When a pattern ends with ".*", the ending
      wildcard should not be counted against pattern elements for this
      pattern.
      
      This commit reintroduces that behavior.
      
      Issue: SPR-6741
      d746e3fb
    • R
      Further encapsulate AntPatternComparator$PatternInfo · ce0473f9
      Rossen Stoyanchev 提交于
      Issue: SPR-6741
      ce0473f9
    • B
      Fix "**" precedence in AntPathMatcher comparator · f829cd1b
      Brian Clozel 提交于
      Prior to this commit, "**" and "*" pattern elements had
      the same priority when comparing two patterns.
      So when comparing several patterns, the computed order was:
      1- /hotels/{hotel}/bookings/{booking}
      2- /hotels/**
      3- /hotels/{hotel}/bookings/{booking}/customer/{customer}
      
      This commit updates the comparator so that patterns ending
      with "**" (a.k.a "catch-all" patterns) are less specific than
      the others; in the previous example, the 2nd pattern would
      then end up last.
      
      This commit also optimizes the comparator implementation.
      
      Issue: SPR-6741
      f829cd1b
  13. 05 6月, 2014 2 次提交
    • J
      Polishing · 2cf88ac6
      Juergen Hoeller 提交于
      2cf88ac6
    • S
      Support for @order at the bean declaration level · 001d0e73
      Stephane Nicoll 提交于
      This commit introduces OrderProvider and OrderProviderComparator, two
      interfaces designed to externalize how a collection of element is sorted
      according to their order value.
      
      FactoryAwareOrderProvider is an OrderProvider implementation that knows
      about the objects to order and the corresponding BeanFactory instance.
      This allows to retrieve additional metadata about the actual instances
      to sort, such as its factory method.
      
      A @Bean method can now holds an additional @order to define the order
      value that this bean should have when injected as part of a collection
      or array.
      
      Issue: SPR-11310
      001d0e73
  14. 31 5月, 2014 1 次提交
  15. 20 5月, 2014 1 次提交
  16. 16 5月, 2014 1 次提交
  17. 13 5月, 2014 1 次提交
  18. 09 5月, 2014 2 次提交
    • S
      Add BackOffExecution to isolate state · 89fc3c02
      Stephane Nicoll 提交于
       This commit separates the BackOff configuration from an actual
       execution. BackOffExecution now contains all the state of a
       particular execution and BackOff is only meant to start (i.e.
       create) a new execution.
      
       The method "reset" has been removed as its no longer necessary:
       when an execution does not need to be used for a given operation
       anymore it can be simply discarded.
      
       Issue: SPR-11746
      89fc3c02
    • S
      Configurable back off for listener recovery · 6a048312
      Stephane Nicoll 提交于
      Prior to this commit, DefaultMessageListenerContainer was recovering
      on failure using a fixed time interval, potentially in an infinite way.
      
      This commit adds an extra "backoff" property to the container that
      permits to fine tune the recovery interval using a BackOff instance.
      
      FixedBackOff provides a fixed interval between two attempts and a
      maximum number of retries. ExponentialBackOff increases an initial
      interval until a maximum interval has been reached. A BackOff instance
      can return a special "STOP" time value that indicates that no further
      attemps should be made. DefaultMessageListenerContainer uses this
      value to stop the container.
      
      protected method "sleepInbetweenRecoveryAttempts" has been renamed
      to "applyBackOff" and now returns a boolean that indicate if the
      back off has been applied and a new attempt should now be made.
      
      Issue: SPR-11746
      6a048312
  19. 07 5月, 2014 1 次提交
  20. 01 5月, 2014 1 次提交
  21. 22 4月, 2014 2 次提交
    • S
      Remove useless imports · 55592092
      Stephane Nicoll 提交于
      55592092
    • S
      Don't mutate annotation metadata when merging attrs · e1720d89
      Sam Brannen 提交于
      Prior to this commit, invoking the getMergedAnnotationAttributes()
      method in AnnotationReadingVisitorUtils resulted in mutation of the
      internal state of the ASM-based annotation metadata supplied to the
      method.
      
      This commit fixes this issue by making a copy of the original
      AnnotationAttributes for the target annotation before merging attribute
      values from the meta-annotation hierarchy.
      
      This commit also introduces a slight performance improvement by
      avoiding duplicate processing of the attributes of the target
      annotation.
      
      Issue: SPR-11710
      e1720d89
  22. 07 4月, 2014 1 次提交
    • S
      Add JSR-107 cache annotations support · 47a43271
      Stephane Nicoll 提交于
      This commit adds support for the JSR-107 cache annotations alongside
      the Spring's cache annotations, that is @CacheResult, @CachePut,
      @CacheRemove and @CacheRemoveAll as well as related annotations
      @CacheDefaults, @CacheKey and @CacheValue.
      
      Spring's caching configuration infrastructure detects the presence of
      the JSR-107 API and Spring's JCache implementation. Both
      @EnableCaching and the cache namespace are able to configure the
      required JCache infrastructure when necessary. Both proxy mode
      and AspectJ mode are supported.
      
      As JSR-107 permits the customization of the CacheResolver to use for
      both regular and exception caches, JCacheConfigurer has been
      introduced as an extension of CachingConfigurer and permits to define
      those.
      
      If an exception is cached and should be rethrown, it is cloned and
      the call stack is rewritten so that it matches the calling thread each
      time. If the exception cannot be cloned, the original exception is
      returned.
      
      Internally, the interceptors uses Spring's caching abstraction by default
      with an adapter layer when a JSR-107 component needs to be called.
      This is the case for CacheResolver and CacheKeyGenerator.
      
      The implementation uses Spring's CacheManager abstraction behind the
      scene. The standard annotations can therefore be used against any
      CacheManager implementation.
      
      Issue: SPR-9616
      47a43271
  23. 06 4月, 2014 1 次提交
  24. 01 4月, 2014 1 次提交
    • S
      javax.annotation.Priority alternative to @order · dcf5f4a6
      Stephane Nicoll 提交于
      This commit rationalizes the use of @order so that the standard
      @Priority annotation can be used instead. The handling of both
      annotations are now defined in OrderUtils.
      
      This also updates the link to the JavaEE API so that we refer to
      JavaEE7 instead of JavaEE6.
      
      Issue: SPR-11639
      dcf5f4a6
  25. 26 3月, 2014 2 次提交