Commit Graph

55 Commits

Author SHA1 Message Date
Vinicius Carvalho
171f034a8c Content type redesign
Fixes #992, #1050, #1051, #1052

Adding custom jackson converter with some tests
Adds kryo message converter to replace codec
Checkstyle changes

Removing codec support
- Removed codec dependency from AbstractBinder
- MessageSerializationUtils is almost an empty shell for now, just to
  keep code compiling until we get EmbeddedHeaders interceptors
- Updated Kryo tests

Removing codec module from build
Added a new Annotation for custom converters '@StreamConverter'
Fixed some tests with new expected behavior
Moved broken tests to a temporary package to keep track of progress
Fixed KryoConverter to fail based on headers
Fixed a couple of more tests

Making converters strict to only convert their corresponding contentType
Bypassing conversion for ErrorMessages

* Configuring SI ConfigurableCompositeMessageConverter
 - Moved ContentType related beans into separate configuration
 - Configured SI ConfigurableCompositeMessageConverter to use same
   converters as Stream does (for ServiceActivator)
- TupleConverter should return byte[] as all other converters
- Fixed tests

* Fixes tests
 - Revert to Boot 2.0.0.M3. Snapshots breaking actuator
 - Checkstyle fixes
 - Disable JsonUnmarshalling as a catch all converter

Fixing Schema tests
Fixing Metrics tests
Fixing reactive tests
applying checkstyle fixes

 * Adding new content type tests
 - Fixed ContentTypeInterceptor misusage of default mimeType

Changing contentType doc section
Improving doc section
Last minute polish
Fixing BinderTests to use bytes to compare messages
Applied changes to Base Binders test to use the new contentType handling mechanism
PR review fixes

Renaming StreamConverter -> StreamMessageConverter
2017-10-05 10:35:51 -04:00
Marius Bogoevici
0546c8ed7e Release 2.0.0.M1 2017-10-05 10:33:57 -04:00
Marius Bogoevici
7260eaacab Use Reactor version managed by Boot 2017-10-05 10:31:09 -04:00
Marius Bogoevici
58b8352d19 Remove SI Java DSL version (now part of SI 5) 2017-10-05 10:31:09 -04:00
Janne Valkealahti
4f72a10bc6 Upgrade build to boot 2.x
- Pump up version to 2.0.0
- Some generic polish
- All changes around breakage with boot 2.x
- Some boot classes has been moved around
- You can't no longer have binding key ending with
  camelCase.
- New Binder now has illegal keys.
- Some changes to tests as we can directly do end-to-end
  testing with ENV_VAR_FORMAT as normal keys
- Spring data repo changes as now uses Optional
- Remove relaxed binder and its tests in favor of new Binder
- Some mockito api changes
- One Ingored test TextPlainToJsonConversionTest.testTextPlainToJsonConversionOnInput
- Relates to #935

Cache metric export properties

Add code formatting guidelines

Rearranged files
2017-10-05 10:31:09 -04:00
Gary Russell
e2c214b34e Update POMs to 1.3.1.BUILD-SNAPSHOT 2017-09-29 16:17:43 -04:00
Gary Russell
9e46ec00a0 Versions to 1.3.0.RELEASE, Bismuth-RELEASE 2017-09-29 11:31:06 -04:00
Gary Russell
3701615a67 Back to 1.3.0.BUILD-SNAPSHOT 2017-09-13 11:04:00 -04:00
Gary Russell
15922e7321 Revert "Back to 1.3.0.BUILD-SNAPSHOT"
This reverts commit baed445872.

For release train build.
2017-09-13 10:37:07 -04:00
Gary Russell
baed445872 Back to 1.3.0.BUILD-SNAPSHOT 2017-09-12 15:54:54 -04:00
Gary Russell
5722f5af06 Update POMs to RC1; Boot 1.5.7; Reactor Bismuth-M4 2017-09-12 14:39:02 -04:00
Vinicius Carvalho
77c4564866 Update version to 1.3.0.BUILD-SNAPSHOT 2017-07-31 15:14:35 -04:00
Vinicius Carvalho
cc31d826aa Release 1.3.0.M2 2017-07-31 15:12:09 -04:00
Marius Bogoevici
d06fd64348 Update version to 1.3.0.BUILD-SNAPSHOT 2017-07-19 09:40:47 -04:00
Marius Bogoevici
f9b111afb5 Release 1.3.0.M1 2017-07-19 09:29:17 -04:00
Vinicius Carvalho
bc7f794112 Upgrading to reactor core 3.1.0
- replaced setCancellation -> onDispose on FluxSink
 - replaced Flux.intervalMillis -> Flux.interval(Duration) in tests

Moving reactor dependency to release train
2017-07-17 09:45:12 -04:00
Soby Chacko
c3246f3257 GH-722: Add support for Reactive Sources
Fixes spring-cloud/spring-cloud-stream#722

Addressing PR review comments

Further addressing PR review comments
Degenericizing `StreamListenerResultAdapter` with the 3rd generic argument
added for returning `Disposable` `StreamListenerResultAdapter` adapt method
now returns `java.io.Closeable`

Addressing PR review comments

Addressing PR review comments

Converting `FluxToMessageChannelResultAdapter` to `PublisherToMessageChannelResultAdapter`

Add `logback.xml` for reactive tests

* Revert `AopUtils.getTargetClass(bean)` to really deal with target classes only.
Although it does not make any effect on the `@Configuration` classes
* Use `AnnotatedElementUtils.isAnnotated()` instead of `getMergedAnnotation()`
to avoid synthetic methods in the `@Configuration` classes
* Add artificial `.transform()` to the `IntegrationFlow` test to overcome
SI Java DSL bug
* Apply similar `.map()` for `Flux` tests configs for proper assertions

* Simple code style polishing
2017-06-21 13:15:14 -04:00
Soby Chacko
338282455f Updating to next major release line: 1.3.0.BUILD-SNAPSHOT
Fix #968
2017-05-17 11:15:34 -04:00
Soby Chacko
ffcff3fcd1 Next update: 1.2.3.BUILD-SNAPSHOT 2017-05-16 15:37:51 -04:00
Soby Chacko
43352fa850 1.2.2.RELEASE 2017-05-16 15:17:28 -04:00
Ilayaperumal Gopinathan
bd002e4aaf Add code formatting guidelines
Add 'eclipse' folder containing Eclipse code
formatter configuration and instructions how to use
 it.

Update rule for join_wrapped_lines

 - Set to `false`

Resolves #930

Update README

Address review comments
2017-05-15 13:03:45 -04:00
Marius Bogoevici
63ff75f766 Set next development version 1.2.2.BUILD-SNAPSHOT 2017-04-11 22:21:03 -04:00
Marius Bogoevici
a33b9bfbe4 Release 1.2.1.RELEASE 2017-04-11 22:11:24 -04:00
Marius Bogoevici
161011fcde Restrict shading to classes in rxjava-reactive-streams
Fix #906
2017-04-07 13:17:09 -04:00
Soby Chacko
92fc292386 Next version:1.2.1.BUILD-SNAPSHOT 2017-04-04 15:02:03 -04:00
Soby Chacko
54678571df Release 1.2.0.RELEASE 2017-04-04 14:51:35 -04:00
Marius Bogoevici
fddf3fb29b Set version to 1.2.0.BUILD-SNAPSHOT 2017-03-13 18:53:55 -04:00
Marius Bogoevici
23a738d3f9 Release 1.2.0.RC1 2017-03-13 18:53:17 -04:00
Marius Bogoevici
16aac0c2b4 Set version to 1.2.0.BUILD-SNAPSHOT 2017-02-21 14:53:00 -05:00
Marius Bogoevici
33f54fc758 Release 1.2.0.M2 2017-02-21 14:51:12 -05:00
Marius Bogoevici
2e3ddcebd7 Remove shading artifact 2017-02-21 14:43:28 -05:00
Marius Bogoevici
02fdd7c9dd Add Documentation for @StreamListener Dispatching
Fixes #820

Addressing PR comments
2017-02-21 12:13:52 -05:00
Ilayaperumal Gopinathan
8792423abc Not enforcing EnableAutoConfiguration on aggregate parent
- The aggregate parent configuration now imports the required auto configuration classes such as ChannelBindingAutoConfiguration and EndpointAutoConfiguration
while `@EnableBinding` is still at the parent configuration to be able to share the binding configuration among the child applications
 - Add `ConditionalOnMissingBean` in spring cloud stream auto configuration classes so that if `EnableAutoConfiguration` is enabled at child application classes
they don't get instantiated again
 - Conditionally import EmbeddedServlet auto-configuration when web environment is enabled for parent
 - Add test

Resolves #737
2017-02-16 15:48:52 +00:00
Marius Bogoevici
5cff7ced90 Set version to 1.2.0.BUILD-SNAPSHOT 2017-01-10 17:20:11 -05:00
Marius Bogoevici
f602ae838c Release 1.2.0.M1
Signed-off-by: Marius Bogoevici <mbogoevici@pivotal.io>
2017-01-10 16:35:44 -05:00
Ilayaperumal Gopinathan
503e749c19 Fix compilation issue on ObservableToMessageChannelResultAdapter
This resolves #756
2017-01-09 13:56:40 +05:30
Marius Bogoevici
2abac42eba Update to Reactor 3.0.4
Fixes #751

- Use Reactor 3.0.4.RELEASE
- Remove Scheduler implementations that were introduced for fixes
- Shade `io.reactivex:rxjava-reactive-streams` classes to replace removed RxJava1 adapter support

Signed-off-by: Marius Bogoevici <mbogoevici@pivotal.io>
2017-01-05 15:52:09 -05:00
Ilayaperumal Gopinathan
38ba0d3941 Update master to 1.2.0
- Update Spring Cloud Dalston
    - update spring-cloud-build to use 1.3.0.BUILD-SNAPSHOT

This resolves #733
2016-12-16 11:55:31 -05:00
Marius Bogoevici
2667b7be68 Make Reactive autoconfiguration conditional on BindingService 2016-12-16 09:42:26 -05:00
Marius Bogoevici
8ac71c7b57 Support flexible bound element types
Fixes #519

Introduces some internal changes to the framework allowing the use
of other types than MessageChannel/SubscribableChannel as bindable
types (e.g. Flux, Observable, KStream, etc.)

- Modify BinderFactory to allow the retrieval and lookup of a
  binder not only by name, but also by binding target type
- Subsequent changes to ChannelBindingService and tests to account
  for the modified signature
- Introduce BindingTargetFactory as the contract for creating bound
  elements
- Remove any references to chanels and bound elements and use
  'binding target' systematically across the board

Reinstate our own Checkstyle checks with a reduced set of rules so that header
  validation can be performed automatically at compile time.

Use ${project.version} for the checkstyle plugin configuration

Renaming some occurences of 'boundElement' to 'bindingTarget'

Renamed a stray occurence of 'channel'

Fix some occurences of String concatenation in the same line after reformatting
2016-12-13 13:19:13 -05:00
Marius Bogoevici
c6e0c74626 Polishing 2016-11-20 23:01:15 -05:00
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
Ilayaperumal Gopinathan
5d2860bc53 - Fix NPE for wildcard/generic type reactive stream listener @Input type
- Set argumentClass to Object when using wildcard/generic types if the StreamListener method parameter for @Input annotated type uses wildcard/generic type, then set the argumentClass to `Object.class` instead of null.

Resolves #665

Address review comments
2016-10-13 13:23:12 -04:00
bamboo
cdbc9cd12d [artifactory-release] Next development version 2016-09-21 21:13:47 +00:00
bamboo
d739052c55 [artifactory-release] Release version 1.1.0.RELEASE 2016-09-21 21:13:47 +00:00
bamboo
2537a4df8c [artifactory-release] Next development version 2016-09-07 04:12:36 +00:00
bamboo
ef8d3fde03 [artifactory-release] Release version 1.1.0.RC1 2016-09-07 04:12:36 +00:00
Marius Bogoevici
d018cafee4 Subscribers to channel-wrapping Flux instances should broadcast
Fixes #640
2016-08-31 17:25:11 -04:00
bamboo
1b12f7d856 [artifactory-release] Next development version 2016-08-25 20:17:52 +00:00
bamboo
7b71e07c3a [artifactory-release] Release version 1.1.0.M1 2016-08-25 20:17:52 +00:00