Redesigning suppliers that use reactive output channel name as
the literal "output" explicitly, as this cuases some conflicts
with the output channel name usage in Spring Cloud Stream.
The fix is done either by simply renaming the channel name
or by avoid using it directly, but delegate its use through the SI Java DSL.
Resolves https://github.com/spring-cloud/stream-applications/issues/160
Fixes https://github.com/spring-cloud/stream-applications/issues/156
The `MessageSource.receive()` may produce `null`:
The `MessageSourceMutator` impl must honor such an input
* Add `MonoProcessor<Boolean> subscriptionBarrier` to delay
subscription to the source `Flux` until subscription happens
to the supplier's flux.
This way we don't have unexpected interaction with the source when
there are regular endpoints in the flow in between
Use spring test data geode in the geode integration tests
test to fork a separate geode process, instead of running
a geode server in a docker container.
STDG is faster than launching Geode through gfsh inside of a container.
- It doesn't run in docker
- It doesn't start management components necessary for gfsh
- It doesn't start extra gfsh shell processes
Removing the GeodeContainer test utility
Exclude `IpHeaders.LOCAL_ADDRESS` from TCP source output as it
causes issues with message conversion downstream.
Update SCSt/Spring-Cloud to the latest snapshots.
* Refactor `TcpSupplierConfiguration` for better readability and
current state of requirements for Spring libraries configuration
Fixes https://github.com/spring-cloud/stream-applications/issues/151
The `RabbitSupplierConfiguration` comes with the `output` bean definition which
clashes with the `output` binding for Spring Cloud Stream.
The last one doesn't register the binding bean and leave the rest of the logic
to deal with existing bean when we resolve it by the `output` name.
* Rework the logic of the `RabbitSupplierConfiguration` to avoid an extra bean
in between and the binding in Spring Cloud Stream do it job
Fixes https://github.com/spring-cloud/stream-applications/issues/154
The Binder conversion mechanism is not aware about a `MediaType.APPLICATION_FORM_URLENCODED`
and does not know how to convert the `MultiValueMap` with such a content-type
* Change the Http-Supplier to replace a `MediaType.APPLICATION_FORM_URLENCODED`
content-type header to the `MediaType.APPLICATION_JSON` for the proper
JSON serialization for the `MultiValueMap` on the binder level before sending to
the output destination
Fixes https://github.com/spring-cloud/stream-applications/issues/146
The `SftpRegexPatternFileListFilter` is used for the `filenamePattern` option, too.
It seems like a copy/paste artefact
* Change `filenamePattern`-based configuration for the `SftpSimplePatternFileListFilter`
* Fix `SftpSupplierApplicationTests` for multi-OS compatibility
- Fix cdc_key header string wrapping issue that causes problems with the spring.cloud.stream.kafka.default.producer.messageKeyExpression.
- Rename Flattering property to the correct Flattening.
- Remove wrong dependencies.
This is so they can be updated in a minimal amount of places and leverage the maven hierarchy to propagate them where appropriate.
While working with SNAPSHOT releases of Spring Boot, Spring Integration, and Spring Cloud, it required touching every pom.xml file
in order to reflect the use of the SNAPSHOT. After this change, it will only be required to change the property in the top
functions pom.xml and the versions will reflect to all submodules.
Maven introduced the ability use a key property, revision to propagate this information to the <parent> declarations in each pom.
This was enabled in Maven 3.5+
https://maven.apache.org/maven-ci-friendly.html
It turns out that endpoint for S3 Source is starting to
consume the `Flux` earlier than an actual subscription
happens for the whole flow downstream
* Introduce a `MonoProcessor<Subscription> downstreamSubscription`
to fulfill from the downstream subscription and handle from the
`delaySubscription()` on the `Flux` for source data
* Add metadata.store.type Property and idempotent SftpSupplier for list-only
* Implement list-only for S3 source and Optimize metadastore access
* Fixed build and READMEs
* Change to ConditionalOnProperty
* Change to ReactiveMessageProducer
* Update cdc-debezium-source/README.adoc
* Make all MetadataStoreProperties visible
- Add supplier, source and boot auto-config.
- Add work around for KafkaNull handling.
- Update CDC to 1.2.1.Final. Replace the deprecated properties.
remove comments
Add missing metadata configuration. Improve README docs.
CDC: add all metadata for doc auto-generation
Remove custom KafkaNullConverter.
- The fixed KafkaNullConverter implementation comes with kafka binder 3.0.8-BUILD-SNAPSHOT or newer.
Add repositories to maven config in app generation project.
Remove the unnecessary function version in maven plugin configuration for app generation.
* Add support for s3 compatible storage to s3 consumer and supplier.
* Add enhancements to s3 compatible storage implementation based on code review
* Move s3 compatible storage endpoint configuration bean to AmazonS3Configuration to remove code duplication
* Disable auto configuration of AmazonS3 Bean to enable custom configurations
* Add documentation for endpoint url configuration property
* Use localhost instead of a real URL to avoid an unexpected connection to the internet