- 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
- The PartitionHandler has per-binding partition properties derived from the producer properties for the binding
- These partition properties (especially PartitionKeyExtractorStrategy and PartitionSelectorStrategy) need not be initialized when the messages are processed; instead they can be set during the PartitionHandler instantiation
- Add tests
This resolves#772
Refactor PartitionHandler
- Provide an API for provisioning middleware specific concerns independent of the binder
- Make the corresponding changes in AbstractMessageChannelBinder
Fixes#745
Addressing PR review comments
Adding ProvisioningException to the SPI for provisioning
Addressing PR review comments
- Overload extractHeaders method to accept bytes payload
- This will help avoiding unnessary message creation during ad-hoc extractHeader invocation
- add test
- Log all the exception messages at the deserialization (especially at the codec's decode process)
- Combine all the exception catches into Exception as the exception messages are almost same and redundant.
Resolves#497
removing duplicate declaration of logger
- Prevent new reflection calls to channels
for Sources, Sinks and Processors, cache bound target
if it's found and try to use it next time as target
should not change.
- One test for checking caching.
- Fixes#759
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>
Fixes#741
The current code will skip `deserializePayloadIfNecessary` if the
payload is a `byte[]`. There are in fact two conditions that indicate
that a message does not require postprocessing in the binder: that
the payload is not a `byte[]` which indicates that the message has
already been deserialized, and that the `originalContentType` is not
present, or else it'd need to be moved to `contentType`. This fix
adds the secondary condition to the check.
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
Fixes#446
Supports properties prefixed with `spring.cloud.stream.default`
for specifying default values for large number of channels or
for dynamically generated channels.
Note: this does not cover binding specific properties,
as the property objects are created under binder's control
but the same technique can be applied there.
Rework default property binding
Minor: javadoc
Updated documentation
Fixes#723
- Add support for registering an `AggregateApplication` bean for accessing the
components from underlying subcontexts
- Testing support and samples
Signed-off-by: Marius Bogoevici <mbogoevici@pivotal.io>
Fix Javadoc