Ilayaperumal Gopinathan 453a9b0c10 Align StreamListener method/parameter mappings
- Use the same mapping of method/parameters for both declarative and message handler Stream Listeners
       - Declarative mode of the StreamListener method is determined if at least one of the the method parameters is annotated with @Input or @Output with either bound elements (e.g. channels) or conversion targets from bound elements via a registered StreamListenerParameterAdapter
       - If the method is non-declarative then it is considered to be in message handler mode
       - Declarative mode now accepts @Output annotation at method level as well along with @SendTo
       - Declarative mode also accepts @Input annotation value at the method level via @StreamListener valuue.
       - Message handler mode accepts @Input annotation value at the method parameter level and @Output annotation at the method annotation level
       - Both @Output and @SendTo annotations are supported to specify the outbound target value while @SendTo is allowed only as a method level annotation
       - Add assertions on allowable use of method and parameter annotations

    - Add parameterized tests to cover all possible cases
        - Message handler tests
        - Reactor and RxJava tests

Resolves #664

Add more error handling and simplify the usage patterns

Address review comments

 - Support @Input/@Output only for declarative StreamListener methods
 - Support multiple @Output only when there is no return type in the StreamListener method
 - Add/Update tests

WIP

Refactor PR based on the review comments
2016-11-18 11:07:05 -05:00
2016-06-04 09:14:54 +01:00
2016-02-25 12:44:27 -05:00
2016-05-12 15:57:07 -04:00
2016-02-22 16:30:36 -05:00
2015-05-28 11:20:23 -04:00
2016-09-20 13:48:13 +01:00
2015-08-14 10:08:25 +01:00
2016-09-17 12:29:16 -04:00

== Spring Cloud Stream image:https://build.spring.io/plugins/servlet/buildStatusImage/SCS-SMJLE[Build Status, link=https://build.spring.io/browse/SCS-SMJLE] image:https://badge.waffle.io/spring-cloud/spring-cloud-stream.svg?label=ready&title=Ready[Stories Ready, link=http://waffle.io/spring-cloud/spring-cloud-stream] image:https://badge.waffle.io/spring-cloud/spring-cloud-stream.svg?label=In%20Progress&title=In%20Progress[Stores In Progress, link=http://waffle.io/spring-cloud/spring-cloud-stream]

This project allows a user to develop and run messaging microservices using Spring Integration and run them locally or in the cloud. Just add `@EnableBinding` and run your app as a Spring Boot app (single application context).

Since version 1.1, Spring Cloud Stream follows a decentralized model where the core components and the binder implementations are developed and released separately.
This repository contains the core components of the project and does not contain any binder implementations.

The repository for the Spring Cloud Stream Release Train is here: https://github.com/spring-cloud/spring-cloud-stream-starters

Information on the Spring Cloud Stream release train can be found here: https://github.com/spring-cloud/spring-cloud-stream-starters/wiki#release-notes.

=== Binder implementations

The following binder implementations are currently available:

* *Kafka*  https://github.com/spring-cloud/spring-cloud-stream-binder-kafka
* *RabbitMQ*  https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit

=== Documentation

The latest documentation for the project can be found http://docs.spring.io/spring-cloud-stream/docs/current-SNAPSHOT/reference/htmlsingle/[here].

=== Samples

For Spring Cloud Stream samples, take a look to the https://github.com/spring-cloud/spring-cloud-stream-samples[samples repository].

=== Contributing

We love contributions.  Follow this https://github.com/spring-cloud/spring-cloud-commons#contributing[link] for more information on how to contribute.

== Code of Conduct
This project adheres to the Contributor Covenant link:CODE_OF_CONDUCT.adoc[code of conduct]. By participating, you  are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Description
No description provided
Readme Apache-2.0 22 MiB
Languages
Java 96.4%
XSLT 3%
CSS 0.5%