1. 14 10月, 2014 1 次提交
  2. 07 10月, 2014 1 次提交
  3. 03 10月, 2014 1 次提交
  4. 02 10月, 2014 1 次提交
  5. 01 10月, 2014 2 次提交
    • J
      Polishing · 7d307b38
      Juergen Hoeller 提交于
      7d307b38
    • S
      Optimize ResolvableType cache · 6f1acdd5
      Stephane Nicoll 提交于
      Prior to this commit, the ResolvableType static cache was holding a lot
      of duplicates for simple types. We are using too much metadata to compute
      the key when the class has no generic information. so setFoo(String foo)
      and setBar(String bar) would result in two entries in the cache because
      the TypeProvider is different. On a very simple application 65% of the
      entries in the cache were duplicate.
      
      When the type is a Class with no generic information, the ResolvableType
      instance is a simple wrapper around it so we might just as well not cache
      it at all as the cost of finding it back from the cache is higher than
      creating that simple wrapper.
      
      This commit adds an explicit check; if the type is a simple Class we just
      return a "resolved" ResolvableType instance for it. On a few test cases,
      this reduces the size of the cache by 85%
      
      Issue: SPR-12275
      6f1acdd5
  6. 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
  7. 28 9月, 2014 1 次提交
  8. 26 9月, 2014 1 次提交
  9. 25 9月, 2014 1 次提交
  10. 24 9月, 2014 1 次提交
  11. 22 9月, 2014 2 次提交
  12. 20 9月, 2014 5 次提交
  13. 19 9月, 2014 1 次提交
  14. 17 9月, 2014 1 次提交
  15. 12 9月, 2014 2 次提交
  16. 10 9月, 2014 2 次提交
    • J
      Polishing · 1e7bfd91
      Juergen Hoeller 提交于
      1e7bfd91
    • S
      Make SocketUtils a concrete class · 559e81be
      Sam Brannen 提交于
      Per the Javadoc for the SocketUtils() constructor, SocketUtils can be
      instantiated as a Spring Bean in XML configuration files; however,
      SocketUtils is currently abstract which prevents such usage.
      
      This commit removes the 'abstract' declaration thereby allowing
      SocketUtils to be instantiated as a Spring bean.
      
      Issue: SPR-12169
      559e81be
  17. 04 9月, 2014 3 次提交
  18. 27 8月, 2014 1 次提交
    • S
      Improve ResolvableType.hashCode() for better performance · 7ea69fb9
      Sebastien Deleuze 提交于
      Prior to this commit, when there was a lot of entries in the
      ResolvableType.cache HashMap, getting a simple value could
      take a lot of time due to a lot of calls to ResolvableType.equals().
      ResolvableType.equals() used this.type, getSource(),
      this.variableResolver.getSource() and this.componentType, but
      ResolvableType.hashCode() used only this.type.
      
      With this commit, ResolvableType.hashCode() now uses the same
      fields than ResolvableType.equals().
      
      Performance on the spring-resolvabletype-benchmark project:
       - 8000 us before this commit
       - 120 us with this commit
      
      Issue: SPR-12122
      7ea69fb9
  19. 22 8月, 2014 3 次提交
  20. 21 8月, 2014 1 次提交
  21. 20 8月, 2014 1 次提交
  22. 18 8月, 2014 1 次提交
  23. 16 8月, 2014 1 次提交
  24. 15 8月, 2014 2 次提交
    • J
      Polishing · 69587f3f
      Juergen Hoeller 提交于
      69587f3f
    • S
      Support automatic discovery of default TELs · e6d16148
      Sam Brannen 提交于
      Prior to this commit, there was no declarative mechanism for a custom
      TestExecutionListener to be registered as a default
      TestExecutionListener.
      
      This commit introduces support for discovering default
      TestExecutionListener implementations via the SpringFactoriesLoader
      mechanism. Specifically, the spring-test module declares all core
      default TestExecutionListeners under the
      org.springframework.test.context.TestExecutionListener key in its
      META-INF/spring.factories properties file, and third-party frameworks
      and developers can contribute to the list of default
      TestExecutionListeners in the same manner.
      
       - AbstractTestContextBootstrapper uses the SpringFactoriesLoader to
         look up the class names of all registered default
         TestExecutionListeners and sorts the instantiated listeners using
         AnnotationAwareOrderComparator.
      
       - DefaultTestContextBootstrapper and WebTestContextBootstrapper now
         rely on the SpringFactoriesLoader mechanism for finding default
         TestExecutionListeners instead of hard coding fully qualified class
         names.
      
       - To ensure that default TestExecutionListeners are registered in the
         correct order, each can implement Ordered or declare @order.
      
       - AbstractTestExecutionListener and all default TestExecutionListeners
         provided by Spring now implement Ordered with appropriate values.
      
       - Introduced "copy constructors" in MergedContextConfiguration and
         WebMergedContextConfiguration
      
       - SpringFactoriesLoader now uses AnnotationAwareOrderComparator
         instead of OrderComparator.
      
      Issue: SPR-11466
      e6d16148
  25. 13 8月, 2014 1 次提交
  26. 08 8月, 2014 1 次提交
  27. 07 8月, 2014 1 次提交
    • S
      Update references to RFC 2616 · 3922f6fc
      Sebastien Deleuze 提交于
      Replace references to the old RFC 2616 (HTTP 1.1) with references
      to the new RFCs 7230 to 7235.
      
      This commit also deprecates:
       - HttpStatus.USE_PROXY
       - HttpStatus.REQUEST_ENTITY_TOO_LARGE in favor of HttpStatus.PAYLOAD_TOO_LARGE
       - HttpStatus.REQUEST_URI_TOO_LONG in favor of HttpStatus.URI_TOO_LONG
      
      Issue: SPR-12067
      3922f6fc