Commit Graph

404 Commits

Author SHA1 Message Date
Artem Bilan
7b59d41bc8 Add merge-dependabot-pr.yml workflow
* Fix `mail-supplier` to use `angus-mail.version` project property
2023-12-22 16:18:20 -05:00
Artem Bilan
5a6e572efc More permissions for release workflow 2023-12-22 15:51:11 -05:00
Artem Bilan
655f49b956 Migrate GHAs for repo from Spring IO org 2023-12-20 17:07:05 -05:00
Artem Bilan
804f1491f9 No need to manage artifactory in project 2023-12-01 15:58:27 -05:00
Artem Bilan
436dbf2e5c Migrate to Gradle-specific release reusable flow 2023-11-30 18:06:58 -05:00
Artem Bilan
dceb61a73c Add more info into README 2023-11-27 11:23:51 -05:00
Artem Bilan
52e506ec76 Rework Kafka Publisher to use DSL Spec for bean
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
2023-11-27 09:35:26 -05:00
Artem Bilan
fc71db446a Various fixes
* Remove `aws-sdk` BOM in favor of one from the SC-AWS
* Add `artifactoryPublish.skip = true` for root project
* Remove `provided` Gradle feature
2023-11-24 13:44:06 -05:00
Artem Bilan
df47b2aa04 Make gradlew as executable 2023-11-23 16:05:35 -05:00
Artem Bilan
e24552f6e4 Add CI/CD GH infrastructure 2023-11-23 16:02:58 -05:00
Artem Bilan
19f904eb66 Migrate project to Gradle
* Upgrade all the dependencies to the latest versions
* Fix some incompatibilities
* Fix some warnings
2023-11-23 15:45:29 -05:00
Artem Bilan
7e4954df78 Fix links in README for target functions 2023-11-22 13:03:26 -05:00
Artem Bilan
7d1f796f08 Add README.adoc 2023-11-22 12:56:26 -05:00
cachescrubber
902b713bd4 Fix scope of function-test-support dependency (#509) 2023-11-13 09:48:46 -06:00
GitHub Actions Bot
180d4e55e8 Next development version 4.0.1-SNAPSHOT / 2022.0.1-SNAPSHOT 2023-10-27 21:14:16 -05:00
Artem Bilan
7cd64c5f49 Fix SftpSupplier for explicit bean name
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.
2023-10-20 12:06:34 -04:00
Corneil du Plessis
4e00985ca5 Fix S3 Source Integration tests. 2023-10-20 17:05:30 +02:00
Artem Bilan
595f962128 Upgrade to latest SI-AWS for S3
* Fix `AwsS3SupplierConfiguration` to
serialize `S3Object` to JSON
2023-10-20 10:28:32 -04:00
Artem Bilan
cf9d8cd79c GH-500: Workaround for non-serializable header (#503)
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
2023-09-22 15:02:02 -05:00
Soby Chacko
27bac2029b Address deprecation warnings
Remove the usage of deprecated `IntegrationFlows` in favor of `IntegrationFlow`
2023-09-22 10:05:23 -04:00
sjgleam
dc94e576c7 Fix typo for link in SFTP Consumer README 2023-09-15 10:46:28 -04:00
Christian Tzolov
167bc78367 Upgrade debezium to 2.3.3.Final 2023-09-05 13:31:32 -04:00
GitHub Actions Bot
21079bdc54 Next development version 4.0.0-SNAPSHOT / 2022.0.0-SNAPSHOT 2023-07-21 12:40:45 +00:00
GitHub Actions Bot
4a595f2284 Release 4.0.0-RC2 / 2022.0.0-RC2 2023-07-21 12:40:08 +00:00
GitHub Actions Bot
c7548ae4e3 Next development version 4.0.0-SNAPSHOT / 2022.0.0-SNAPSHOT 2023-07-20 14:56:01 +00:00
GitHub Actions Bot
5eade0d669 Release 4.0.0-RC2 / 2022.0.0-RC2 2023-07-20 14:55:34 +00:00
Artem Bilan
1df9fd9ca5 Upgrade to AWS SDK v2
* 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`
2023-07-19 09:36:09 -04:00
Corneil du Plessis
511900fed7 Update Spring versions. 2023-07-12 12:59:11 +02:00
Christian Tzolov
ca8228809a Upgrade Debezium to 2.3.0.Final
* address some review comments

* minor pom improvements

* undo Debezium BOM
2023-06-27 12:58:27 -04:00
Corneil du Plessis
5efe5d17e1 Limits tests to single thread 2023-06-19 13:26:13 +02:00
GitHub Actions Bot
bcdb881fac Next development version 4.0.0-SNAPSHOT 2023-06-14 04:47:46 +00:00
GitHub Actions Bot
358be92abd Release 4.0.0-RC1 2023-06-14 04:47:29 +00:00
Christian Tzolov
af1548f41c Update Debezium to 2.3.0.CR1 (#480) 2023-06-13 17:12:47 -05:00
Artem Bilan
bc756a34b0 GH-475: Add some missed nested props for apps (#476)
Fixes https://github.com/spring-cloud/stream-applications/issues/475

* Fix JDBC props for limited listed number of them
2023-06-12 23:35:10 -05:00
Artem Bilan
7db2c77238 GH-265: Add Kafka Supplier & Source (#474)
* Also add support for nested config props for `kafka-sink`

Fixes #265
2023-06-12 14:23:06 -05:00
Corneil du Plessis
79c22aa196 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	stream-applications-build/pom.xml
2023-06-09 15:45:25 +02:00
abilan
b4efca62a4 Fix mail apps for Spring Boot 3.1 2023-06-09 10:02:34 +02:00
Corneil du Plessis
7d6fdbd891 Polish Mongo supplier. 2023-06-08 23:56:57 +02:00
Corneil du Plessis
0c0673552a Restore change for Mongo Tests. 2023-06-08 23:56:57 +02:00
Corneil du Plessis
1828a1677b [CI] Fix test support 2023-06-08 23:56:48 +02:00
Corneil du Plessis
cda3180781 Restore change for Mongo Tests. 2023-06-08 23:10:59 +02:00
Corneil du Plessis
b706000e29 [CI] Fix test support 2023-06-08 23:05:50 +02:00
Corneil du Plessis
1cdb6e3945 [Revert] Spring Boot to 3.0.7 2023-06-08 18:56:41 +02:00
Corneil du Plessis
a54d602d5c [Update] Spring Boot to 3.1.0 2023-06-08 18:47:25 +02:00
Artem Bilan
d30252a66b GH-265: Add Kafka Publisher and Sink (#469)
* 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
2023-06-07 21:01:45 -05:00
Chris Bono
d5b90c508c Polish "GH-275: Mention ComponentCustomizer in READMEs"
- Swap out `mqtt-consumer` and `mongodb-supplier`snippets
2023-06-05 22:21:01 -04:00
abilan
5ecec94121 GH-275: Mention ComponentCustomizer in READMEs
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
2023-06-05 22:21:01 -04:00
Christian Tzolov
6a34291c5a Move Debezium builder into standalone function common project (#463)
- 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>
2023-06-04 10:58:12 -05:00
Christian Tzolov
b8931f8399 Update Debezium version and add mssql IT (#460)
* Update Debezium version from 2.2.0.Final to 2.2.1.Final
* Add Debezium mssql integration test
2023-05-31 12:17:22 -05:00
Artem Bilan
745d270dde GH-441: Add JsonBytesToMap function (#461)
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
2023-05-30 18:25:27 -05:00