1. 02 9月, 2016 6 次提交
  2. 01 9月, 2016 21 次提交
    • S
      Polishing · 02bed0a3
      Sebastien Deleuze 提交于
      02bed0a3
    • S
      Let users control SSE stream completion · 06d4bb6a
      Sebastien Deleuze 提交于
      This commit avoid merging automatically the SSE stream with
      Flux.never(). Since browsers automatically reconnect when
      the HTTP connection is closed, it is now the user responsability
      to optionally perform a concatWith(Flux.never()) on streams that
      complete in order to avoid receiving the data multiple times on
      client side.
      
      The behavior with hot streams that never complete does not change.
      
      Issue: SPR-14578
      06d4bb6a
    • S
      Delete unused imports in spring-context-indexer · 1af2fbfb
      Sam Brannen 提交于
      1af2fbfb
    • S
      Polish SpringClassRule and SpringMethodRule · 52022501
      Sam Brannen 提交于
      52022501
    • S
      Merge pull request #1151 from sylvainlaurent:patch-1 · 749ee606
      Stephane Nicoll 提交于
      * pr/1151:
        Fix class literal in instanceof
      749ee606
    • S
      Fix class literal in instanceof · dc3f62d5
      sylvainlaurent 提交于
      Closes gh-1151
      dc3f62d5
    • S
      Update Web Reactive documentation · 76ed101a
      Sebastien Deleuze 提交于
      76ed101a
    • S
      Support for candidate components index · dcade06f
      Stephane Nicoll 提交于
      This commit adds a "spring-context-indexer" module that can be added to
      any project in order to generate an index of candidate components defined
      in the project.
      
      `CandidateComponentsIndexer` is a standard annotation processor that
      looks for source files with target annotations (typically `@Component`)
      and references them in a `META-INF/spring.components` generated file.
      
      Each entry in the index is the fully qualified name of a candidate
      component and the comma-separated list of stereotypes that apply to that
      candidate. A typical example of a stereotype is `@Component`. If a
      project has a `com.example.FooService` annotated with `@Component` the
      following `META-INF/spring.components` file is generated at compile time:
      
      ```
      com.example.FooService=org.springframework.stereotype.Component
      ```
      
      A new `@Indexed` annotation can be added on any annotation to instructs
      the scanner to include a source file that contains that annotation. For
      instance, `@Component` is meta-annotated with `@Indexed` now and adding
      `@Indexed` to more annotation types will transparently improve the index
      with additional information. This also works for interaces or parent
      classes: adding `@Indexed` on a `Repository` base interface means that
      the indexed can be queried for its implementation by using the fully
      qualified name of the `Repository` interface.
      
      The indexer also adds any class or interface that has a type-level
      annotation from the `javax` package. This includes obviously JPA
      (`@Entity` and related) but also CDI (`@Named`, `@ManagedBean`) and
      servlet annotations (i.e. `@WebFilter`). These are meant to handle
      cases where a component needs to identify candidates and use classpath
      scanning currently.
      
      If a `package-info.java` file exists, the package is registered using
      a "package-info" stereotype.
      
      Such files can later be reused by the `ApplicationContext` to avoid
      using component scan. A global `CandidateComponentsIndex` can be easily
      loaded from the current classpath using `CandidateComponentsIndexLoader`.
      
      The core framework uses such infrastructure in two areas: to retrieve
      the candidate `@Component`s and to build a default `PersistenceUnitInfo`.
      Rather than scanning the classpath and using ASM to identify candidates,
      the index is used if present.
      
      As long as the include filters refer to an annotation that is directly
      annotated with `@Indexed` or an assignable type that is directly
      annotated with `@Indexed`, the index can be used since a dedicated entry
      wil be present for that type. If any other unsupported include filter is
      specified, we fallback on classpath scanning.
      
      In case the index is incomplete or cannot be used, The
      `spring.index.ignore` system property can be set to `true` or,
      alternatively, in a "spring.properties" at the root of the classpath.
      
      Issue: SPR-11890
      dcade06f
    • S
      Add support for RxJava 2 · 48d67a24
      Sebastien Deleuze 提交于
      This commit adds support for RxJava 2 Completable,
      Single, Observable and Flowable types (io.reactivex package).
      
      Issue: SPR-14628
      48d67a24
    • S
      Polishing · b4641b23
      Sebastien Deleuze 提交于
      b4641b23
    • A
      Introduce new functional web API · f1319f58
      Arjen Poutsma 提交于
      This commit introduces a new, functional web programming model in the
      org.springframework.web.reactive.function package. The key types
      are:
      
       - Request and Response are new Java 8-DSLs for access to the HTTP
         request and response
       - HandlerFunction represents a function to handle a request to a
         response
       - RoutingFunction maps a request to a HandlerFunction
       - FilterFunction filters a routing as defined by a RoutingFunction
       - RequestPredicate is used by Router to create RoutingFunctions
       - RequestPredicates offers common RequestPredicate instances
      f1319f58
    • A
      Merge pull request #1143 from poutsma/server_sent_event · 18e491ac
      Arjen Poutsma 提交于
      * server_sent_event:
        Refactored SseEvent to ServerSentEvent
      18e491ac
    • A
      Refactored SseEvent to ServerSentEvent · 16b525f6
      Arjen Poutsma 提交于
       - Renamed SseEvent to ServerSentEvent to make the name less redundant.
       - ServerSentEvent is now immutable, having a builder to create new instances.
       - Realigned the class properties to more closely match the events
         described in the spec, so that `reconnectTime` becomes `retry`, and
         `name` becomes `event`.
      16b525f6
    • S
      Use Map.computeIfAbsent() in SpringClassRule · d9eaa5f3
      Sam Brannen 提交于
      Replace manual synchronization block in SpringClassRule with Java 8's
      Map.computeIfAbsent().
      
      Issue: SPR-12421
      d9eaa5f3
    • J
      1cf503f9
    • J
      aff914c9
    • A
      Copied getAndSub() over from Reactor · 35cf4f17
      Arjen Poutsma 提交于
      Operators.getAndSub was removed in Reactor 3.0.1, this commit copies the
      implementation over to AbstractRequestBodyPublisher, which used it.
      35cf4f17
    • S
      Polishing · feb02f81
      Sam Brannen 提交于
      feb02f81
    • S
      Introduce tests for @Nested tests in JUnit Jupiter · e574820d
      Sam Brannen 提交于
      This commit introduces integration tests that verify the expected
      behavior for @Nested tests in conjunction with the SpringExtension for
      JUnit Jupiter, including automatic application of
      TestExecutionListeners to the enclosing test instance of a @Nested
      test instance.
      
      Issue: SPR-14150
      e574820d
    • S
      Demo how to use SpringClassRule in nested test classes · ab7b5e5c
      Sam Brannen 提交于
      Due to restrictions imposed by JUnit 4, the SpringClassRule must be
      declared as a public static field, which makes it impossible to be
      declared directly within a nested (i.e., inner) test class.
      
      This commit demonstrates a work-around that makes it possible to use
      the SpringClassRule and SpringMethodRule in a nested (i.e., inner) test
      class when using a custom JUnit 4 runner such as the
      HierarchicalContextRunner from Stefan Bechtold.
      
      The trick is to have inner test classes extend a class that properly
      declares the SpringClassRule and SpringMethodRule. The
      SpringRuleConfigurer in this commit serves as an example.
      
      Note, however, that each such nested test class must declare its own
      @ContextConfiguration. Furthermore, TestExecutionListeners in the
      Spring TestContext Framework are not applied to the enclosing instance
      of such an inner test class, meaning that @Autowired fields in the
      enclosing instance will not be injected, etc.
      
      Issue: SPR-14150
      ab7b5e5c
    • R
      Fix MergePlugin transitive dependencies · 09f16747
      Rob Winch 提交于
      A little terminiology first:
      
      * merge.from - a project that contains source that will be merged
                     into merge.into
      * merge.into - a project that contains source code that will have
                     code from merge.from merged into it.
      
      Previously a module that dependended on merge.into would not see
      the merge.from module as a transitive dependency. This worked fine
      from a Gradle build because all the code from merge.from is merged
      into the merge.into jar. However, in an IDE it did not work because
      the IDE does not assemble a jar.
      
      This fix ensures that merge.from modules are automatically added
      to the classpath of any module relying on the merge.into project.
      
      Fixes SPR-14650
      09f16747
  3. 31 8月, 2016 12 次提交
  4. 30 8月, 2016 1 次提交
    • A
      Update for IntelliJ Idea 2016.2.2 · e7aecb44
      Artem Yakshin 提交于
      Update tutorial for import and build project in IntelliJ IDEA 2016.2.2. Steps are outdated and existing issues is not applicable in new versions.
      e7aecb44