It is not recommended to use `IntegrationComponentSpec.getObject()` manually.
* Change `KafkaPublisherConfiguration` to use `KafkaProducerMessageHandlerSpec` for bean definition
* Fix `KafkaPublisherConfigurationTests` to add an `IntegrationAutoConfiguration` into the picture as well
With SF 6.0 we don't support `--debug` for method argument names anymore.
We must use `@Qualifier` explicitly.
Otherwise, it might be resolved to something else what matches the expected type.
Fixes https://github.com/spring-cloud/stream-applications/issues/500
When `listeners` are provided for `DefaultKafkaConsumerFactory`,
the target `KafkaConsumer` instance is proxied.
The `java.lang.reflect.Proxy` is `Serializable`,
but the value it is wrapping is not.
When the `MessageHeaders` is serialized (e.g. into persistent `MessageStore`),
it checks for `Serializable` type only on top-level object of the header.
Therefore, the `Proxy` is passing condition, but eventually we fail
with `NotSerializableException`, since the proxied object is not like that
* Remove `kafka_consumer` from a message before it reaches an aggregator
with its logic to serialize message into the store
This is a workaround until Spring for Apache Kafka is released
with the fix: https://github.com/spring-projects/spring-kafka/pull/2822
* Upgrade to Spring Integration AWS `3.0.1`
* Upgrade to Spring Cloud AWS `3.0.1`
* Use `spring-cloud-aws-dependencies` BOM to manage Spring Cloud AWS deps, as well as AWS SDK
* Remove `AmazonS3Properties` in favor of similar properties in the Spring Cloud AWS auto-configuration
* Remove `CompatibleStorageAmazonS3Configuration` in favor of its code migration to the single `AmazonS3Configuration`
* Fix `supplier`, `consumer`, `source` and `sink` for S3 to use API and programing model from the mentioned upgrades
* Add extra `dataflow-configuration-metadata` entries for the mentioned properties from the Spring Cloud AWS auto-configuration
* Regenerate README for `s3-source` and `s3-sink`
* Fix `metadata-store-common` to use the latest Spring Integration AWS for DynamoDB store impl
* * Fix `AmazonS3ConfigurationTests` for missed `AwsAutoConfiguration`
in an `ApplicationContextRunner` setup
* * Remove unused import in the `MetadataStoreAutoConfigurationTests`
* * Remove unused import in the `AbstractAwsS3ConsumerMockTests`
* GH-265: Add Kafka Consumer and Sink
Fixes https://github.com/spring-cloud/stream-applications/issues/265
* Make `kafkaPublisher` based on the Spring for Apache Kafka auto-configuration
and Spring Integration channel adapter, essentially `KafkaProducerMessageHandler`
* Make this `KafkaPublisherConfiguration` as an auto-configuration by itself.
* Expose those simple properties required by the `KafkaProducerMessageHandlerSpec`
* Add `kafka-sink` module based on the `kafkaPublisher`
* Add `kafka-sink` into apps metadata properties
Fixes https://github.com/spring-cloud/stream-applications/issues/275
Many functions make use of `ComponentCustomizer` ot let end-user
to provide any custom configuration for target component used by the function.
First of all for use-case which are not covered by standard configuration
properties and secondly for those options which cannot be represented
as a configuration option.
* Add a sentence to READMEs of those functions which make use of `ComponentCustomizer`
with an expected generic argument type
* Add README into `rabbit-supplier` where it is fully missed at the moment
- Move the `DebeziumEngineBuilderAutoConfiguration` and META-INF configurations to new function project: debezium-autoconfigure.
- Introduce the `EmbeddedEngineExecutorService` helper class for help DebezuimEngine implementations.
- Move the relevant tests from debezium-supplier to the debeizum-autoconfigure.
- Add detailed README documentation.
- Adjust the debeizum-supplier and debezium-source configurations.
- Clean the related tests.
Resolves#462
---------
Co-authored-by: Artem Bilan <abilan@vmware.com>
Add `JsonBytesToMap` function to allow conversion between byte[] and JSON Map.
Fixes https://github.com/spring-cloud/stream-applications/issues/441
* Introduce a `JsonBytesToMap` as a part of a `payload-converter-function` module
which is auto-discovered by Spring Cloud Function scanning algorithm - the `functions` package.
* Add a `payload-converter-function` as dependency into an `aggregator-function`
* Compose `jsonBytesToMap|aggregatorFunction` for the `aggregator-processor`
* Verify a `JsonBytesToMap` function in action with an `AggregatorProcessorTests`
* Mentioned such a payload conversion in the `aggregator-processor` README