Commit Graph

261 Commits

Author SHA1 Message Date
sunny151091
5b5fb8fd0f Revise HttpRequestFunctionConfiguration configuration (#295)
Fixes #286
2022-07-15 19:01:30 -05:00
Chris Bono
2289afa967 Update main to next version (4.0.0) (#314)
* Next version for 4.0 (core)

* Next version for 4.0 (apps)

* Next version for 4.0 (release train)
2022-07-15 18:59:31 -05:00
Chris Bono
29d10c9c41 Release 2021.1.2 (non-apps back to snapshots) (#304) 2022-06-01 23:32:08 -05:00
Chris Bono
d48e0fb955 2021.1.2 release (functions release version numbers) (#298) 2022-06-01 11:03:36 -05:00
Chris Bono
ce8f4383df Remove all repositories from pom.xml in favor of new project level settings.xml (#293) 2022-05-29 11:36:42 -05:00
Chris Bono
df157960f6 GH-279: Update to Spring Cloud 2021.0.3
Fixes #279

* Updates version numbers as per [2021.0.3 release notes](https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2021.0-Release-Notes#202103)
* Also factors out common version props to stream-applications-build/pom.xml
2022-05-27 11:56:17 -04:00
Chris Bono
50d75ef1e7 GH-271: Remove duplication from pom.xml files
This proposal fixes many build warnings and is a general cleanup of the pom.xml files.

* Remove duplicate `dependency` entries  from pom.xml files
* Remove duplicate `repository` entries from pom.xml files
* Replace deprecated use of `receive(long)` in `HttpSourceTests`
* Reduce logging for Twitter integration tests

Fixes #271
2022-05-26 13:57:44 -04:00
Artem Bilan
78933b5474 Remove auto-config for ComponentCustomizer (#281)
Since we still need to modify every single function, consumer & supplier
for previously introduced `@CustomizationAware`, it does not do too much
difference for us if we add a `ComponentCustomizer` dependency to the
bean for customization and call it manually.

One benefit of this change is to avoid a `static` confusion and performance
overhead with extra `BeanPostProcessor`.

* Remove `ComponentCustomizerBeanPostProcessor` and
 respective `ComponentCustomizationAutoConfiguration`
* Use `@Nullable ComponentCustomizer<FileInboundChannelAdapterSpec>`
as dependency in the `FileSupplierConfiguration.fileMessageSource()` bean
2022-05-25 14:46:33 -05:00
Chris Bono
71daaaef99 Fix circular dependency and checkstyle on ComponentCustomizationAutoConfiguration (#280) 2022-05-25 00:05:08 -05:00
Chris Bono
1d153ae728 GH-272: Update to Spring Boot 2.6.8 (#278)
Fixes #272
2022-05-24 21:47:52 -05:00
Artem Bilan
89cd8812c3 GH-195: Introduce ComponentCustomizer (#273)
Fixes #195 

* Introduce a `ComponentCustomizer` contract to be exposed in
the end-user configuration for particular bean type
* introduce a `@CustomizationAware` annotation to mark a component 
as customizable
* Introduce a `ComponentCustomizationBeanPostProcessor` as an auto-configured
bean to apply `ComponentCustomizer` to a matching `@CustomizationAware` (if any)
* Use `@CustomizationAware` in the `FileSupplierConfiguration`
and demonstrate `ComponentCustomizer` feature in its tests
* Move `config-common` to functions parent to make the mentioned auto-configuration
available for all the functions
* Remove some other duplicated dependencies from the affected poms
2022-05-24 20:55:11 -05:00
Chris Bono
7aa166e54c GH-268: Update Boot 2.6.7 / Spring Cloud 2021.0.2 (#269)
Also updates other dependencies accordingly. 

Fixes #268
2022-05-20 13:22:42 -05:00
Corneil du Plessis
373a2669b4 Convert snippets to Asciidoc format and added types.
Fixes #241
2022-05-04 15:10:06 +02:00
Chris Bono
77a63f39fd Polish "GH-248: Exclude Geode SSL config"
* Add comments in tests about geode ssl flag verification
2022-04-06 00:06:58 -05:00
Artem Bilan
10ac6a45cb GH-248: Exclude Geode SSL config
Fixes https://github.com/spring-cloud/stream-applications/issues/248

The Geode SSL auto-config is done via `SslAutoConfiguration.SslEnvironmentPostProcessor`
which cannot be excluded as an auto-config.

* Set `SslAutoConfiguration.SECURITY_SSL_ENVIRONMENT_POST_PROCESSOR_ENABLED_PROPERTY`
to `false` from the `ExcludeStoresAutoConfigurationEnvironmentPostProcessor`
when the store type is not Geode
2022-04-06 00:01:35 -05:00
David Turanski
b4d50ccfea Quiet down integration test logging 2022-03-30 11:11:23 -05:00
David Turanski
b7909a99b9 Fix checkstyle error 2022-03-30 11:58:20 -04:00
Artem Bilan
321eeb391e GH-249: Add metadata-store to file-supplier (#251)
Fixes https://github.com/spring-cloud/stream-applications/issues/249

Currently, the metadata store is supported by remote files source (S3, ftp and sftp), but not by file source.
There are cases where it is convenient to be able to use the metadata store with file source as well.

* Add externally configured `ConcurrentMetadataStore` into `FileSupplierConfiguration`
which is based on the auto-configuration provided by the `metadata-store-common` artifact
* Test with an embedded JDBC store
* Remove redundant dependencies in the file-supplier pom - supplied by the parent
* Add `MetadataStoreProperties` to allow-list for dataflow
* Fix typo in the `s3-supplier` README
2022-03-30 11:41:34 -04:00
Soby Chacko
dfc000cd49 Update next snapshots for functions and core 2022-02-24 20:31:45 -05:00
Soby Chacko
b2dc53191f Functions 1.2.0 release 2022-02-24 12:14:19 -05:00
Soby Chacko
c308f51932 Update dependency versions 2022-02-24 11:22:30 -05:00
onobc
66637cf8d9 Fix checkstyle on previous commit 2022-02-08 19:07:36 -06:00
Artem Bilan
e3d39677a2 Change SFTP reactive init to doOnRequest
The `Flux.doOnSubscribe()` happens really before the actual subscription is set to the `Publisher`.
So, there is possible a race condition when we start producing messages, but `FluxMessageChannel`
didn't get the actual subscriber to process.

**Cherry-pick to `2021.1.x` & `2020.0.x`**
2022-02-07 15:54:13 -05:00
Artem Bilan
15788eca6a Restore org.testcontainers:junit-jupiter dep
Some of the modules rely on the JUnit support or Testscontainers
2022-01-30 10:47:35 -05:00
Artem Bilan
06b09013f2 Remove some redundant dependencies 2022-01-28 15:31:03 -05:00
dependabot[bot]
bb8618af86 Bump spring-core in /functions/common/tensorflow-common
Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.2.7.RELEASE to 5.3.14.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.2.7.RELEASE...v5.3.14)

---
updated-dependencies:
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 14:24:23 -05:00
dependabot[bot]
ed1d808807 Bump hibernate-validator in /functions/supplier/http-supplier
Bumps [hibernate-validator](https://github.com/hibernate/hibernate-validator) from 6.1.0.Final to 6.1.5.Final.
- [Release notes](https://github.com/hibernate/hibernate-validator/releases)
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/6.1.5.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/6.1.0.Final...6.1.5.Final)

---
updated-dependencies:
- dependency-name: org.hibernate.validator:hibernate-validator
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 14:23:13 -05:00
dependabot[bot]
4d7a1774cf Bump commons-compress in /functions/common/tensorflow-common
Bumps commons-compress from 1.20 to 1.21.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 14:22:06 -05:00
Chris Bono
3af4e8cfe0 Upgrade Geode to support Spring Boot 2.6.3
* Fix Geode integration tests
* Upgrade spring-geode-starter -> 1.6.3
* Upgrade apachegeode/geode -> 1.14.3
* Upgrade spring-data-geode-test -> 0.0.28
2022-01-28 12:13:01 -05:00
onobc
c480de944b * Break dependence on RabbitAutoConfiguration.
* Restore Rabbit own-connection feature
2022-01-27 16:54:36 -06:00
Chris Bono
709addff37 Re-enable and fix tests for Boot 2.6 upgrade
* Make constructor public
* Appease checkstyle/format gods
* Bump to testcontainers 1.16.3
* Bump to redis testcontainers 2.0.11
* Fix circular bean dependencies in the configuration classes
2022-01-26 11:32:24 -05:00
Artem Bilan
361c0866b9 * Use spring.mongodb.embedded.version=3.5.5 - aligned with Spring Boot 2022-01-25 09:37:14 -05:00
Artem Bilan
de92924f66 Restore embedded MongoDb tests 2022-01-24 11:30:33 -05:00
Soby Chacko
db61080499 Temporarily disabling a few tests 2022-01-21 17:52:10 -05:00
Soby Chacko
e91a887c5a Initial commit for Boot 2.6 changes
SCSt 3.2.1
SCFn 3.2.1
Spring Kafka 2.8.2

Other related upgrades
2022-01-21 14:38:10 -05:00
Artem Bilan
e1987527cf Change doOnSubscribe to doOnRequest
The `aggregatorFunction` has a flaw subscribing and emitting
data from a source `Flux` too early: from a `doOnSubscribe()`
callback which is really called *before* the real subscription is
registered in the target `Publisher`

Change the logic to the `doOnRequest()` which happens already
after subscription is registered in the `Publisher`

**Cherry-pick to `2020.0.x`**
2022-01-20 18:34:21 -05:00
Artem Bilan
acf7f6510b GH-207: Fix NPE in the HttpSupplierConfiguration
Fixes https://github.com/spring-cloud/stream-applications/issues/207

When no HTTP `Content-Type` header, the NPE is thrown from the `enrichHeaders()`
endpoint

* Fix NPE extracting header value via `get(MessageHeaders.CONTENT_TYPE, MediaType.class)`
* Make `httpHeaderMapper` bean as a `@ConditionalOnMissingBean` to let end-users
to provide their own custom `HeaderMapper<HttpHeaders>`
* Move `httpSupplierProperties.getMappedRequestHeaders()` setting to the `httpHeaderMapper` bean
* Use `httpHeaderMapper` bean injection into the `WebFlux.inboundChannelAdapter()` instead of
just `httpSupplierProperties.getMappedRequestHeaders()`
* Mention custom `HeaderMapper<HttpHeaders>` in the README
2022-01-18 19:31:15 -05:00
Artem Bilan
7e54bd2d8a Fix File Supplier for lifecycle
SO: https://stackoverflow.com/questions/69802199/how-to-use-watchservicedirectoryscanner-with-spring-cloud-stream-file-supplier

The `FileReadingMessageSource` has to be started if `useWatchService()` is used.
2021-12-09 18:21:18 -05:00
Artem Bilan
9828120f34 Fix HTTP Supplier for auto-configured codecs
SO: https://stackoverflow.com/questions/70242824/spring-cloud-data-flow-http-source-kafka-application-request-body-memory-size-is

The `WebFlux.inboundChannelAdapter()` creates internally `ServerCodecConfigurer.create()` if not provided.
And with that any customizations for codes are not possible from end-user perspective

* Fix `HttpSupplierConfiguration` to autowire `ServerCodecConfigurer`
which is auto-configured by Spring Boot.
This way end-user can use external configuration properties to customize his/her requirements,
e.g. `spring.codec.max-in-memory-size`
* Cover the feature with unit test to make sure that `spring.codec.max-in-memory-size=10MB`
is propagated properly to the `WebFluxInboundEndpoint.codecConfigurer`
2021-12-08 13:30:21 -05:00
Artem Bilan
fb4926f66e GH-182: Upgrade Debezium to 1.7.1
Fixes https://github.com/spring-cloud/stream-applications/issues/182

* Upgrade Debezium dependency to 1.7.1
* Remove explicit dependencies for DBs and remove excludes for them from Debezium deps;
rely fully on whatever Debezium connectors bring for us
* Fix `EmbeddedEngine` for compatibility with the Debezium 1.7.1
* Fix CDC tests for the current state of Debezium results
* Fix Checkstyle violations in the MQTT modules
2021-11-19 20:25:07 -05:00
Artem Bilan
9e9fca06d4 GH-183: Expose MQTT SSL properties
Fixes https://github.com/spring-cloud/stream-applications/issues/183

* Add `MqttProperties.sslProperties` common MQTT configuration property as a `Map` structure
* Delegate a content fo the `MqttProperties.sslProperties` into `mqttConnectOptions.setSSLProperties()`
in the common `MqttConfiguration`
* Verify that SSL properties are applied in both `MqttSupplierTests` & `MqttConsumerTests`
* Document a new `MqttProperties.sslProperties` configuration property for both consumer and supplier
* Use `eclipse-mosquitto` Docker image for MQTT tests instead of RabbitMQ plugin: the Mosquitto starts much faster
2021-11-16 14:56:43 -05:00
Soby Chacko
66101a7ba0 Next version updates
stream-applications-build: 1.1.2-SNAPSHOT
functions: 1.1.2-SNAPSHOT
stream-applicatons-core: 3.1.2-SNAPSHOT
applications: 3.1.2-SNAPSHOT
release-train: 2021.0.2-SNAPSHOT
2021-10-25 19:02:43 -04:00
Soby Chacko
5d1df893a8 functions: 1.1.1 Release 2021-10-25 11:25:22 -04:00
Soby Chacko
cd254219a9 Update versions
Spring Cloud Stream: 3.1.5
Spring Cloud Function: 3.1.5
2021-10-22 20:36:41 -04:00
Soby Chacko
bfbc750a42 Update Spring Cloud Function and Spring Cloud Stream
There is a partition issue that was addressed in SCFn and SCSt and needs to be
picked by the apps.

Update both SCFn and SCSt to 3.1.5-SNAPSHOT.

See relevant commits below in SCFn and SCSt for more details.

0cb5483d0a
c2326740ed
2021-10-18 10:39:41 -04:00
Soby Chacko
b8f87d78b2 Next version updates
stream-applications-build: 1.1.1-SNAPSHOT
functions: 1.1.1-SNAPSHOT
stream-applicatons-core: 3.1.1-SNAPSHOT
applications: 3.1.1-SNAPSHOT
release-train: 2021.0.1-SNAPSHOT
2021-10-08 19:21:31 -04:00
Soby Chacko
a815ebb1f2 functions: 1.1.0 Release 2021-10-08 13:00:17 -04:00
Soby Chacko
9ce90ecae5 Back to snapshot: stream-applications-build and functions 2021-09-29 17:13:03 -04:00
Soby Chacko
43e042a43c functions: 1.1.0-RC1 release 2021-09-29 15:02:45 -04:00
Soby Chacko
b1fdecf1be Update upstream project dependencies 2021-09-29 13:49:24 -04:00