1. 21 10月, 2014 2 次提交
  2. 30 9月, 2014 1 次提交
    • B
      Fix invalid PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE · d293889b
      Brian Clozel 提交于
      Prior to this commit, `AntPathMatcher.extractPathWithinPattern` would
      not process correctly `**` patterns and would only match *one* path
      segment in the given path.
      
      This commit changes `extractPathWithinPattern` to allow multiple path
      segments to be matched against a single `**` pattern segment.
      
      Issue: SPR-10515
      d293889b
  3. 24 9月, 2014 1 次提交
  4. 22 9月, 2014 1 次提交
  5. 20 9月, 2014 1 次提交
  6. 12 9月, 2014 1 次提交
  7. 04 9月, 2014 3 次提交
  8. 22 8月, 2014 3 次提交
  9. 20 8月, 2014 1 次提交
  10. 13 8月, 2014 1 次提交
  11. 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
  12. 16 7月, 2014 2 次提交
  13. 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
  14. 10 7月, 2014 2 次提交
  15. 25 6月, 2014 1 次提交
  16. 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
  17. 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
  18. 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
  19. 31 5月, 2014 1 次提交
  20. 20 5月, 2014 1 次提交
  21. 16 5月, 2014 1 次提交
  22. 13 5月, 2014 1 次提交
  23. 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
  24. 07 5月, 2014 1 次提交
  25. 01 5月, 2014 1 次提交
  26. 22 4月, 2014 1 次提交