Fix#903
Use 'application' as the trigger name consistently.
Since 'application' would be a too generic name for
the Exporter bean, use a BeanPostProcessor to install
the exporter in the `MetricExporters` bean.
Additional updates
- rename binding to `applicationMetrics` (we can decide later how
the channel is named)
- remove the default setting for `spring.metrics.export`
- Improve documentation
Fix#904
Docs updates
Properly escape asciidoc control characters
- Rename `BindingFactoryListener` to `Listener` and reduce
its visibility, making it effective only when used with
a `DefaultBinderFactory` implementation.
- Rename a couple methods
- Make `ChannelEndpointConfiguration` an autoconfiguration
in its own right
- BinderFactoryConfiguration has a conditional configuration that creates `BinderFactory` with binder health indicators only if the spring-boot `actuator` is in classpath
- Move Channels endpoint configuration into a separate conditional configuration class
Resolves#869
Use listener approach instead of subclassing
Use auto-configuration for binders healthIndicator configuration
- Change the metrics channel name to `applicationMetricsChannel`
- Update documentation
- Remove `instanceIndex` to reduce coupling to
Spring Cloud Stream semantics and because it can be sent via
the `properties` metadata set
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