Fix supports check on FromMessageConverter: make sure the targetType is on the LHS
Fix PojoToStringMessageConverter: handle message payload tuple separately so that the tupleToString converter is set
- For the message channels being created, set the corresponding `dataType` and `message-converters` based on the `contentType` value set per-binding
- This is applicable for both direct-binding and the channels that connect to the binder
- This is a temporary location for the `tuple` project and would eventually be moved to something like `spring-data-commons`
- Note: This project currently removes `batch` package from the tuple project in XD
- The corresponding test classes are yet to be moved.
- adding includes/excludes properties for modules
- includes and their transitive deps are mandatory, excludes can be pattern-based
- supports both individual module launch and aggregation
Allow exclusions to apply to all artifacts
Fixing classloading issues when LaunchedUrlClassloader is used with JARs from the Maven repository
Javadoc enhancements
The annotation metadata coming into an ImportBeanDefinitionRegistrar does not
include overrides or inherrited/merged attributes from meta-annotated custom
annotations. This change makes it possible to extend @EnableBinding if
users want to do that.
Per https://jira.spring.io/browse/SPR-13448
- Add a way to enable `RxJava` module
- Add `EnableRxJavaModule` annotation that inherits `EnableModule` for `Processor` type.
- It also registers the custom `MessageHandler` that sets up RxJava `Observable/Subscriber` to process the incoming message reactively.
- Introduce `RxJavaProcessor` that is expected to be implemented by the module author with the input/output being `Observable`. This processor is autowired into the message handler registered above.
- Add moving average sample
Add project `spring-cloud-stream-rxjava`
- This project extends `spring-cloud-stream` so that any RxJava processing module would have this as a dependency
* renamed @ModuleChannels to @Bindings
* moved Source, Sink, and Processor to the `org.springframework.cloud.stream.messaging` package
* updated documentation
and refactor channel proxy behaviour
- Remove DirectChannelProxyFactory;
- Proxies create channels as necessary, including support for PollableChannels;
- Channel beans are using the bean factory methods for the proxies;
- Coordinate bind/unbind across a context through the internal Bindable interface;
- Add support for embedding modules as independent child contexts of the main module, wrapped in a Bindable interface;
- Add support for channel name namespacing;
- Use a shared channel registry (consulted by the proxies) to create direct bindings;
Restrict the use of SharedChannelRegistry to aggregation
Fixed copyrights
Polishing based on comments from the previous branch
Tweaks
- namespacing takes into account module index, so multiple modules with the same class can partiticipate
- fix how properties are passes to parent/child
- Split ChannelBindingLifecycle from ChannelBindingAdapter and register it with each child;
Javadoc updates
Pass only prefixed properties
Actually use the filtering method
Lifecycle simplifications
- Removing BindableChannelWrapper and UnbindOnCloseApplicationListener and relying on ChannelBindingListener solely;
- Some code cleanup
Further simplifications
More cleanup
Remove BindableUtils, rename ChannelBindingAdapter
Minor improvements
Addressing some comments, renaming, etc
More polishing
- Re-add `@ConditionalOnMissingBean` to connection factory beans in cloud configurations
- This is needed at least for CF case where auto-reconfiguration sets up connection factory beans
- Use `TreeMap` for channel bindings and set case insensitive comparator for the tree map.
- This way binding key (typically channel name) can be looked up case insensitively
- update steps to run the `s-c-s-module-launcher` on standalone, docker and lattice
- update recent changes into readme
- Fix docker compose to use the common binding name so that `time | log` works
Remove explicit cloud profile for lattice run
Remove tap reference
Remove explicit server.port for docker-compose
Update port mapping for docker run
- Move the launcher property `modules` to `ModuleLauncherProperties`
- This will make the `ModuleRunner` to be `Component` bean only; Also, it only needs to enable the configuration properties of `ModuleLauncherProperties`
Separate module resolver/launcher properties
Add validator dependency to module launcher