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
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`
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).
Fixes#498
- Honour the retry settings from ConsumerProperties;
- Add an additional `enableDlq` option in KafkaConsumerProperties that enables forwarding failed messages to a DLQ topic.
- 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
- 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
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
- 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.
- 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
- 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
- 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
- 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
This resolves#425
Address review comments
- Update AssertTrue conditional logic
- Modify the message
Changes after rebase
- Changes after extendedProperties addition
- 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