Commit Graph

583 Commits

Author SHA1 Message Date
Dave Syer
d5e374651e Ensure version is scraped from parent pom 2016-09-20 13:48:13 +01:00
Gunnar Hillert
cce9b8b138 gh-642 Fix Figures missing in references PDF
* Fix Figures missing in references PDF
* Ensure admotion graphics show up in PDF
* Ensure authors are shown for PDF
* Fix copyright notice spacing
2016-09-19 22:39:43 -04:00
Marius Bogoevici
6834c28674 Deprecate @Bindings
Fixes #656

Remove @Bindings from tests

Remove deprecated @Bindings annotation from tests
Rename tests which were previously ignored due to name
2016-09-19 20:47:35 -04:00
markfisher
15b562132a polishing 2016-09-19 15:47:19 -04:00
Ilayaperumal Gopinathan
0d8bbc6665 Minor polishing on message converter doc
This fixes #616

Add example for MessageConverter
2016-09-19 15:17:14 -04:00
Marius Bogoevici
c9192c6c8e Update README.adoc 2016-09-17 12:29:16 -04:00
Marius Bogoevici
b797018dff Adds 'spring-boot-starter-validation' as a mandatory dep
Fixes #638
2016-09-12 17:51:03 -04:00
Ilayaperumal Gopinathan
8ff9df04d4 Pass aggregator parent sources/args appropriately
- The aggregator builder parent sources and cmdline args can be passed via
   - AggregateApplicationBuilder constructor
   - AggregateApplicationBuilder parent() builder method
and, the cmd line args can also be passed via
   - AggregateApplicationBuilder run() method

This PR supports passing all these options. The implementation sets `parentSources` and `parentArgs` by collecting the values from all the above options and use them when creating the parent context.

 - Add test case to verify these scenarios

This resolves #626

Make sure to handle self-contained apps parentContext

 - Always create parent context with the aggregatorParentConfiguration
2016-09-12 09:34:45 -04: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
5583c6f8fc Reinstate no-arg constructor for AggregateApplicationBuilder
Fixes #636
2016-09-01 10:29:48 -04: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
Marius Bogoevici
512a5d9190 Use spring-cloud-build-tools for checkstyle validation 2016-08-25 15:27:28 -04:00
bamboo
5cd15dc300 [artifactory-release] Next development version 2016-08-25 19:10:15 +00:00
bamboo
749191ce20 [artifactory-release] Release version 1.1.0.M1 2016-08-25 19:10:15 +00:00
Marius Bogoevici
63c515417d Update README 2016-08-25 14:45:23 -04:00
Marius Bogoevici
785a0bcf1d Remove unused dependencies of spring-cloud-stream-test-support-internal 2016-08-25 14:22:35 -04:00
Marius Bogoevici
1b62be0217 Override scheduler implementations for Reactor 3.0.0
Workaround for https://github.com/reactor/reactor-core/issues/159
2016-08-25 12:13:09 -04:00
Ilayaperumal Gopinathan
ebc508ee61 Do not start application context automatically
- This will avoid other lifecycle beans inside the application context starting when
binding lifecycle beans are started.

Resolves #525

Address review comments
2016-08-24 17:39:33 -04:00
Marius Bogoevici
0756b998bd Restore backwards compatibility with applications using input.contentType
Fixes #633

Fixing checkstyle errors
2016-08-24 15:13:56 -04:00
Marius Bogoevici
d2800efd1d Update Spring Cloud Build to 1.2.0.RELEASE 2016-08-24 09:50:25 -04:00
Marius Bogoevici
c90bea99ae Rename 'spring-cloud-stream-docs' to 'spring-cloud-stream-core-docs 2016-08-22 23:55:17 -04:00
Marius Bogoevici
0eae62f113 Add concrete example of using RabbitMQ 2016-08-22 17:00:07 -04:00
Soby Chacko
247f49350e Extract RabbitMQ and Kafka binder documentation
Fixes #629
2016-08-22 16:56:27 -04:00
Marius Bogoevici
bac8877a52 Correct example in the documentation
Fixes #586
2016-08-18 16:07:51 -04:00
Marius Bogoevici
d43f1d42fc Add Javadoc 2016-08-18 12:45:35 -04:00
Marius Bogoevici
c194ae720f Refactor AbstractMessageChannelBinder
- allow the use of the destination reference returned by
`createProducerDestinationIfNecessary` when invoking `createProducerMessageHandler`
2016-08-18 12:26:16 -04:00
Marius Bogoevici
ac443b56bc Move spring-cloud-stream-dependencies to spring-cloud-stream-starters
Fixes #621
2016-08-17 19:42:16 -04:00
Marius Bogoevici
a9dda09d57 Set an explicit context class for the binders
Since this is an internal construct, we can safely ignore
the application settings.
2016-08-17 16:07:15 -04:00
Marius Bogoevici
d76e49b795 Add spring-cloud-stream-tools module
Fixes #618

- Store checkstyle rules in spring-cloud-stream-tools module
2016-08-17 13:07:37 -04:00
Dave Syer
12a34b7bb8 Change repo URLs to https 2016-08-17 17:31:27 +01:00
David Turanski
d175e68093 Fix copy-paste-o 2016-08-16 16:55:40 -04:00
Ilayaperumal Gopinathan
5c510db012 Aggregate application doesn't need binder in its classpath
- BinderTypeRegistry will have empty binder types for aggregate applications
  - Check if `SharedChannelRegistry` bean is in the context, then proceed with no binder type

This resolves #576

Support self contained aggregator app without binder dependency

 - Check if the aggregator application is self contained (with both source and sink applications exist) and if so, avoid having the check to have binder in classpath at BinderFactoryConfiguration
 - Given the aggregator parent context has binder configuration classes via `@EnableBinding`, enable all the auto configuration classes(excluding the binding configuration classes) as a parent for aggregator builder. This will have the aggregator parent to determine if the aggregator app is `selfContained` and set the parent context once all the app configurers are set
 - Add tests
 - Remove unused aggregator application methods
2016-08-11 16:29:46 -04:00
Marius Bogoevici
e462603dea Upgrade to Spring Boot 1.4.1.BUILD-SNAPSHOT 2016-08-07 02:01:44 -04:00
Marius Bogoevici
09503c8bec Reactive types docs
Add library usage info
2016-07-31 21:29:03 -04:00
Vinicius Carvalho
4422b21438 Add Avro serialization and schema management support
- Add schema server implementation
- Add schema client abstraction
- Add schema client implementation for own schema registry server
- Add schema client supporting Confluent schema registry
- Add Avro-based message converter supporting a static schema resource
- Add Avro-based message converter with schema evolution support, via
  schema registry client.
- On serialization, the converter register writer schemas with the schema
  registry server and augment the content type of outbound message with
  schema information.
  On deserialization, the reading converter will fetch the schema from the server
  if not available locally.

Use class information if schema is not specified

In the case of SpecificRecord and Reflective readers/writers, the class information can be used instead

Make subtype prefix configurable and shorten the subject

- Subtype prefix is now configurable and subject is the lowercase schema name
- Enhance/correct javadoc

Refine AbstractAvroMessageConverter

- distinguish between writer and reader schema when reader is created

Add schema registry and schema registry client docs
2016-07-31 21:26:36 -04:00
Soby Chacko
8dd22ebca0 Move calling afterProperties on consumer and producer endpoints from binder implementations to core 2016-07-28 19:00:35 -04:00
Marius Bogoevici
08d65a92bb Initial support for Reactive API
Fixes #520
Fixes #458 (for non-reactive binders)

Adds spring-cloud-stream-reactive module.
Introduces support for declarative @StreamListener and @Input and @Output annotated parameters.
Add StreamListenerArgumentAdapter and StreamListenerResultAdapter for wrapping bindable inputs
and outputs when passing arguments to declarative @StreamListener.
Adds support for using reactive types (Flux/Observable) with traditional binders.
Introduce FluxSender and ObservableSender for handling multiple streaming outputs per method.
Ensure that errors are caught and logged.

Fixing constructor assertions and Javadoc

Addressing PR comments

- rework @Input/@Output parameter validation
- renamed StreamListenerArgumentAdapter to StreamListenerParameterAdapter
- ensure that parameter direction is accounted for in the current adapters
2016-07-26 14:47:03 -04:00
Marius Bogoevici
55b9aa75dd Rework the converter system
Fixes #505

The goals are twofold: to simplify the registration of new converters and
to add some consistency to the conversion process, and align them with the
way converters are used in generic Spring Messaging listeners, by describing
two possible transformations: inbound, message (including contentType)->targetClass,
and outbound payload+headers -> message. The idea is for the two
transformations to match the input and output directions of the bound channels.

List of changes:

- Create and configure input/output channels distinctly - reflected
  in the definitions of `BindableChannelFactory` and `MessageChannelConfigurer`;
- Replace AbstractFromMessageConverter with bidirectional converters;
- Use the channel direction (input/output) to determine whether
  `toMessage` or `fromMessage` will be invoked;
- Use contentType support from `AbstractMessageConverter` to map
  converters to mime types instead;

Making converters more robust

Addressing comments

Convert content type headers to String before serializing

Addressing further PR comments
2016-07-22 17:02:38 -04:00
Marius Bogoevici
bd92af4784 Add AbstractMessageChannelBinder
Handle common aspects of message-channel binders:
- added generic, customizable ReceivingHandler and SendingHandler
- made doBindProducer delegate to a series of template methods
- made doBindConsumer delegate to a series of template methods
- moved partitioning to an interceptor, thus fixing #493

Removed unused manual ack handling
2016-07-18 17:15:49 -04:00
Eric Bottard
7607d781c7 Fix doc typo 2016-07-08 16:42:48 +02:00
Soby Chacko
463de397bd binder moving - cleanup 2016-06-28 22:06:31 -04:00
Gunnar Hillert
af2702e62f gh-580 Include API Docs in Docs Zip 2016-06-23 13:43:09 -10:00
Ilayaperumal Gopinathan
74189942f4 Remove RabbitTestSupport class 2016-06-23 12:34:30 +02:00
Soby Chacko
ccea09f8a9 Remove Kafka specific test rules from core repo 2016-06-21 20:49:46 -04:00
Eric Bottard
97f4b0f5f4 Move binders out of the main repo
Fixes spring-cloud/spring-cloud-stream#546

Fixing merge conflicts
2016-06-21 16:28:48 -04:00
Marius Bogoevici
daf454410c Polishing for GH-570
- Add back old property in deprecated form for backwards compatibility.
2016-06-08 11:20:31 -04:00
Simon Weis
c1f4ba66d3 Fix typo in RabbitBinderConfigurationProperties
Substitute adminAdresses with adminAddresses.
2016-06-08 11:20:31 -04:00