- It is assumed to be the responsibility of the user to specify the appropriate jmx domain name for the modules (either via s-c-dataflow or via module launcher)
- 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
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
- 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
- Change `remoteRepository` option to `remoteRepositories` that accepts comma separated string values.
- AetherModuleResolver would expect set of remote repositories and create `RemoteRepository` list
for the given set.
Use String[] for remoteRepositories
- This will let spring boot's ConfigurationProperties handle the properties
and use the Map<String,String> for remoteProperties in AetherModuleResolver
- Generate ID for the map
- Add `prefix` based module configuration properties
- Add default properties in `application.yml`
- Move the properties into separate `ConfigurationProperties` bean rather than being inside `Configuration` bean
(And with existing Spring Cloud projects.) Uses a maven plugin to
build the image. It can be pushed manually, or else using
-Ddocker.image.prefix=<path_to_repo>. Removes some of the hard-coded
host names and stuff that came with the old version.