Fix#888
- Rename `EmbeddedHeaderMessageConverter` to `EmbeddedHeaderUtils`;
- Add method to populate default header set;
- Make `serializePayloadIfNecessary` protected so it can be accessed by subclasses;
- At StreamListenerBeanPostProcessor, avoid eager creation of inbound/outbound target beans whenever possible
- Use `applicationContext.getType(targetName)` instead of `applicationContext.getBean(targetName)` which checks the type of target beans from bean factory instead of creating the bean eagerly.
- For declarative method invocation, `applicationContext.getBean` is needed as it requires the actual bean as its argument
Resolves#767
Update the test
- ignore bean definition not found exception when the bean definition doesn't exist
Fix#859
Instead of sending out all matching relaxed properties
we now pick up one single canonical format and send
the data to consumers using it.
Formatting settings
- Given the TestSupportBinder has its own BinderFactory that returns the TestSupportBinder, we need to exclude the BinderType entry of TestSupportBinder detected from classpath
- This will make sure to exclude test support binder when TestSupportBinderAutoConfiguration is excluded when using other explicit binder in tests
Resolves#827
Set defaultCandidate to false for TestSupportBinder
- Set `defaultCandidate` to false for the TestSupportBinder using an environment post processor
- At BinderFactoryConfiguration, don't override the 'BinderProperties' set via declared binders
- Set `defaultCandidate` to `true` only for the binders set via BinderTypeRegistry without overriding their binder properties
See spring-cloud/spring-cloud-stream-binder-kafka#109
See #851
Add Prefix to Partition Headers
originalContentType remains as-is for backwards-compatibility.
Enhance Javadoc
Fix#832#752
Adds caching capabilities to the converter. Remote calls to the
registry, Schema Parsing and toString were very expensive operations
that are now being cached
Adds a decorator to the registryClient that allows caching of remote
invocations.
Fixing review comments
- Remove conditionalOnMissingBean check on the necessary beans that are required for exernal bindings of the child application
- Add test to verify
Resolves#816
`@StreamListener` has support for a `condition` parameter,
that contains a SpEL expression that is evaluated before the
method is invoked.
Fix#682
Move StreamListenerMessageHandler as a top level class
Use dispatching and add test
Refactor dispatching mechanism
Throw error when conditions are used in declarative mode
Make StreamListenerAnnotationBeanPostProcessor overridable
Remove unused field in test
Address some PR comments
Add placeholder resolution
Update how multiple matches work with return values
- Methods with return values are not allowed to specify conditions
- If multiple matches are detected (e.g. multiple methods without
conditions, or a mix of methods with and without conditions)
checks that all of them have no return value;
- 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