Commit Graph

486 Commits

Author SHA1 Message Date
Marius Bogoevici
02ee8d4d88 GH-509: Rework Topic Autoconfiguration
Fixes #509

- prevent autoconfiguration from reducing the existing partition count and/or replication factor

Split `autoConfigureTopics` in two separate settings, one for `autoCreateTopics`
and one for `autoAddPartitions` (to existing topics)

Renamed `defaultMinPartitionCount` to just `minPartitionCount` on the Kafka binder
2016-05-04 15:32:11 -04:00
Marius Bogoevici
8d5bf66c7f GH-504: AutoConfiguration of Kafka Topics
Add a flag for controlling topic autoconfiguration by the Kafka binder

Fixes #504

- introduces a new binder setting `autoConfigureTopics` that allows the user to disable the automatic creation of topics by the binder

Additional tests for partitioning

Adding missing documentation for `replicationFactor`
2016-05-03 10:08:16 -04:00
Ilayaperumal Gopinathan
2c40db0cd8 Minor updates 2016-05-03 15:15:24 +05:30
Marius Bogoevici
39cf1e272d Documentation for RxJava and Aggregates 2016-05-03 15:08:34 +05:30
Marius Bogoevici
1d6ab21067 Use the binder minPartitionCount property for consumers
Fixes #495

Currently, `minPartitionCount` is available both as a binder default and as a consumer property.
It would be simpler if it only was a binder setting (seeing as it has effect only as a default).
2016-05-03 12:04:08 +05:30
Marius Bogoevici
fa42b62074 Add retry and DLQ support for the Kafka binder
Fixes #498

- Honour the retry settings from ConsumerProperties;
- Add an additional  `enableDlq` option in KafkaConsumerProperties that enables forwarding failed messages to a DLQ topic.
2016-04-29 12:27:54 -04:00
Marius Bogoevici
4247fe42bd Upgrade to Spring Cloud Build 1.1.0.RC2 2016-04-29 11:57:38 -04:00
Dave Syer
419850768e Remove document title from overview docs
(It is used as an include in the "master" user guide)
2016-04-29 13:09:38 +01:00
Marius Bogoevici
b4dc6bbd95 Reinstate DynamicDestinationsBindable, remove utilities
- add DynamicDestinationsBindable back
- add tests validating that the unbind of the dynamic channels takes place
- Rename tests (original test renamed back) to use the `BinderAwareChannelResolver`
- Remove utility class for property validation and extraction
2016-04-28 18:56:50 -04:00
Ilayaperumal Gopinathan
f029249e1b BinderAwareChannelResolver to check for ExtendedProperties
- When resolving the destination names via BinderAwareChannelResolver, the underlying binder needs to be checked if it is of type `ExtendedPropertiesBinder` so that any ExtendedProducerProperties will be considered based on the binder
 - Also move the validation and retrieval of producer/consumer properties to a util
 - Update BinderAwareChannelResolverTests to use ExtendedPropertiesBinder

This resolves #483

Separate tests for ExtendedPropertiesBinder

Remove binder type from dynamic destination names

 - This leads to using `ChannelBindingService` to bind the dynamic destination names
2016-04-28 18:56:50 -04:00
Marius Bogoevici
045d280542 Prevent eager initialization of the MessageHandlerMethodFactory
Fixes #494

The eager initialization of the bean triggers the eager initialization of the ObjectMapper, which causes issues with HATEOAS and Hystrix.
2016-04-28 23:34:44 +05:30
bamboo
450350f995 [artifactory-release] Next development version 2016-04-26 22:35:07 +00:00
bamboo
f11414230f [artifactory-release] Release version 1.0.0.RC3 2016-04-26 22:35:07 +00:00
Marius Bogoevici
c9efe11757 Fix missing ending for example 2016-04-26 17:24:02 -04:00
Marius Bogoevici
0bd7899a77 Kafka Binder uses a fixed-size daemon thread pool
Fix #500

- Initialize a fixed-size ExecutorService of the size of the concurrency setting of the binder
- Clean up the ExecutorService on unbind
- Remove unused `spyOn` support
2016-04-26 16:33:27 -04:00
Marius Bogoevici
6227e24e5d Exclude log4j as a Kafka binder dependency
Fixes #480
2016-04-18 13:13:40 -04:00
Marius Bogoevici
95457dd4c2 Enforce the use of commons-logging throughout the project 2016-04-18 12:36:49 -04:00
Ilayaperumal Gopinathan
ca101ba9e9 Use commons-logging
This resolves #490
2016-04-18 10:56:32 -04:00
Marius Bogoevici
bfff729b81 Reinstate checkstyle running by default
- Rely on `checkstyle.skip` instead of a custom property
- Remove configuration from plugin definition, rely on execution only to set project-specific dependencies. This prevents inheritors from outside the project to fail on not finding the configuration. Note: on the long run, we will want to create a `build-tools` submodule that hold the configurations.
2016-04-18 14:57:57 +05:30
Ilayaperumal Gopinathan
c815420305 Cleanup todo items
This resolves #485
2016-04-15 15:08:53 -04:00
Ilayaperumal Gopinathan
842d11ae91 Disable checkstyle by default
- This will make sure not to trigger the checkstyle goals at the projects that add `spring-cloud-stream` as a dependency
2016-04-15 17:14:53 +05:30
Marius Bogoevici
147a0cb0bc Add checkstyle support
Fixes #481

Execute checkstyle validation at build time.
Add minimal set of rules.
Ensure that existing code conforms to the rules.
2016-04-15 10:44:37 +05:30
Marius Bogoevici
0bbabaf705 Make AggregateApplication package local
Fixes #474

- Now the only API for aggregating is AggregateApplicationBuilder
- add namespace tests
2016-04-08 08:49:49 -04:00
Ilayaperumal Gopinathan
af470273bb Update headerMode property in doc
Resolves #477
2016-04-08 15:34:15 +05:30
Marius Bogoevici
e18cff39a6 Make sure that raw tests exercise raw mode 2016-04-07 12:13:00 -04:00
bamboo
f9330f1117 [artifactory-release] Next development version 2016-04-07 13:25:26 +00:00
bamboo
727434b732 [artifactory-release] Release version 1.0.0.RC2 2016-04-07 13:25:26 +00:00
Marius Bogoevici
7c4058b039 Remove dependency on spring-cloud-commons 2016-04-07 08:51:22 -04:00
Ilayaperumal Gopinathan
7893904e01 Add doc for TestBinder
This resolves #451
2016-04-07 08:29:20 -04:00
Marius Bogoevici
31a10b29a3 Update documentation to reflect that header mode is a generic producer/consumer property 2016-04-06 21:29:51 -04:00
Marius Bogoevici
b28cf627b4 Minor 2016-04-06 20:53:27 -04:00
Marius Bogoevici
e9e36dbbd9 Author list update 2016-04-06 20:46:40 -04:00
Marius Bogoevici
4731280804 Corrections to documentation 2016-04-06 20:09:06 -04:00
Marius Bogoevici
d2e00610cd Make a globally defined ObjectMapper truly optional 2016-04-06 19:54:08 -04:00
Ben Klein
9a92bda9c1 Edit reference manual
Minor formatting corrections to reference manual

Remove directory from reference manual image paths

Further edits to reference manual
2016-04-06 17:54:18 -04:00
Ilayaperumal Gopinathan
502d275b41 Move message header mode as a generic property
- Both the producer and consumer properties have `HeaderMode`
 - Handle the case of embeddedHeaders and raw for both the Sending/ReceivingHandlers in Redis binder

This resolves #408

Move message values extraction to superclass
2016-04-06 15:53:12 -04:00
Marius Bogoevici
cd81f24451 Make bindable channel validation more consistent. 2016-04-06 14:44:05 -04:00
Ilayaperumal Gopinathan
a0cdbdc148 Restrict Message channel types on input/output more explicitly
- Add necessary assertions on the type of message channels for input/output
  - Make sure to support message channel of type `MessageChannel` for @Output-annotated channels
  - support message channel of type `SubscribableChannel` for @Input-annotated channels and if the type is exactly equal to `MessageChannel` type then create subscribable channel
 - Remove references of creating PollableChannel for binding

This resolves #469

Remove bridging of shared channel
2016-04-06 12:28:28 -04:00
Marius Bogoevici
0b4b916fe6 Minor fixes: formatting, cleanup 2016-04-06 11:29:38 -04:00
Ilayaperumal Gopinathan
277d896e1d Use Jackson ObjectMapper from AutoConfiguration
- For the message converters that use Jackson ObjectMapper, autowire the ObjectMapper from JacksonAutoConfiguration
   - This will allow configuration of ObjectMapper using boot configuration properties `JacksonProperties`

 - Add test

This resolves #466
2016-04-06 09:57:40 -04:00
Ilayaperumal Gopinathan
4466331266 Set namespace when using AggregateApplication.run()
- When the apps are aggregated by calling AggregateApplication.run() the namespace for the apps need to be set before creating shared channel registry
2016-04-06 15:15:16 +05:30
Ilayaperumal Gopinathan
6816937827 Polishing AggregateApplication namespace handling 2016-04-06 13:46:58 +05:30
Venil Noronha
99f978a262 Fixes #428 - Enabled namespace propagation at AggregateApplication run.
Updated AggregationApplication* to honor app specific namespace.
2016-04-06 13:46:54 +05:30
Ilayaperumal Gopinathan
12bd4effa1 Allow AggregateApplicationBuilder with no arg constructor
- When the AggregateApplicationBuilder doesn't have constructor args set, then invoke parent configuration setup with no args.
  - This will make sure to set the parent context for the child application contexts

This resolves #464
2016-04-04 21:31:03 -04:00
Ilayaperumal Gopinathan
1730021547 Add basic validation for producer/consumer properties
This resolves #425

Address review comments

 - Update AssertTrue conditional logic
 - Modify the message

Changes after rebase

 - Changes after extendedProperties addition
2016-04-04 20:39:43 -04:00
Ilayaperumal Gopinathan
6c442b7421 Fix compiler warnings
This resolves #467
2016-04-04 20:20:45 -04:00
Marius Bogoevici
0626cc8c07 Clean up the JSON rendering of ConsumerProperties and ProducerProperties (for actuator endpoints). 2016-04-04 19:57:46 -04:00
Ilayaperumal Gopinathan
f390feb42b ChannelsEndpoint to show all the binding properties
- Set the default destination name when it is not explicitly set
 - The producer/consumer properties would also be shown via BindingProperties
  - Handle JSON serialization when the value is of type Expression

This resolves #406 #426
2016-04-04 18:45:07 -04:00
Ilayaperumal Gopinathan
853e340a35 Remove unused Rabbit binder properties 2016-03-30 14:36:50 +05:30
Marius Bogoevici
0a2d826af5 Remove local and redis binders from BOM 2016-03-27 09:21:42 -04:00