Commit Graph

23 Commits

Author SHA1 Message Date
Corneil du Plessis
3917ce241b [SB 3] Fix checkstyle in http-request-function. (#406)
* [SB 3] Fix checkstyle in http-request-function.
2022-11-07 16:57:11 +02:00
Corneil du Plessis
392b5bfbbe [Issues] Change http-request to non-reactive (#402)
Fixes #206
2022-11-04 17:40:01 +02:00
Chris Bono
1a941bf649 [SB3 Update] Add HttpMethod converter to http-request function
- HttpMethod moved from enum to class in Spring Framework. Needs converter now.
2022-10-16 23:52:42 -05:00
Chris Bono
002204270e Remove ${revision} from pom.xml files 2022-10-02 10:58:48 -05:00
Chris Bono
a8814f876f Initial support for SB3/SF6
- Main branch builds successfully (with tests skipped)

See #326
2022-09-22 17:46:11 -05:00
Artem Bilan
5e78da73ef Disable DB init for JDBC Source and Sink (#325)
* Disable DB init for JDBC Source and Sink

The `IntegrationAutoConfiguration` provides mechanism
to initialize DB with some out-of-the-box scripts.
The default behavior is `EMBEDDED` even if we don't use
any components for those DB objects, e.g. no `JdbcMessageStore` bean.

* Add `spring.integration.jdbc.initialize-schema=NEVER` to the
`jdbc-consumer` and `jdbc-supplier` to not attempt to initialize DB
* Fix Checkstyle violations in other modules
2022-09-21 10:31:18 -05:00
Artem Bilan
61f1412365 GH-276 Apply ComponentCustomizer in other modules (#284)
* GH-276 Apply ComponentCustomizer in other modules

Fixes https://github.com/spring-cloud/stream-applications/issues/276

Some changes are straightforward as just a `ComponentCustomizer<?>`
injection and its optional usage for the target component customization.
Other changes are more drastic since it is better to use `proxyBeanMethods = false`,
so some direct bean method calls had to be reworked to the bean method argument
injections

* Fix some deprecations from Project Reactor
* Remove `UpdatingMongoDbMessageSource` since `MongoDbMessageSource`
supports now an `update` option in Spring Integration

NOTE: The `ZeroMqSupplierConfiguration` has its own customizer already
like `Consumer<ZMQ.Socket>`, so it can be revised to a more broader solution,
but in the future version.

Some modules just does not make sense to modify for more advance customization
since all their configuration is covered with plain configuration properties.
See `splitter-function` or `wavefront-consumer`

* * Use `ObjectProvider<WebClientCustomizer>` for `HttpRequestFunctionConfiguration`
instead of our own `ComponentCustomizer`.
Although this has to be revised in favor of fully auto-configured `WebClient.Builder`.
Even that `maximumBufferSize` is included into codecs configuration properties.
* The `MongoDbMessageSource` has now an `update` option in Spring Integration
therefore remove redundant already `UpdatingMongoDbMessageSource`
and populate `this.properties.getUpdateExpression()` directly ot the
`MongoDbMessageSource` bean
* Modify supplier configurations to avoid manual starts for endpoints on
reactive `Publisher` subscriptions.
Spring Integration provides now a `toReactivePublisher(true)` operator
to have all the endpoints stopped on start, but started automatically
when subscription happens to the provided `Publisher`
* Update Copyright to the current year for all the affected classes
* Use `@Nullable` instead of `ObjectProvider` in the `AggregatorFunctionConfiguration`
dependency injection for consistency
* Fix `LogConsumerConfiguration` to not have a `log()` in the end - it is not terminal
in Spring Integration anymore.
Use recommended `nullChannel()` terminating operator for use-cases like this.

* * Remove `beanName` from `ComponentCustomizer` contract

Co-authored-by: Chris Bono <cbono@vmware.com>
2022-07-15 19:36:21 -05:00
sunny151091
7b3309707f Revise HttpRequestFunctionConfiguration configuration (#295)
Fixes #286
2022-07-15 19:01:30 -05:00
Chris Bono
1c50531c13 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
7ed748687e 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
Soby Chacko
760683cc2a Restructuing with maven revision feature
Preserving the maven revision feature from the previous commit,
but perform a bit more restructuring the hierarchy.
2020-10-13 15:17:52 -04:00
Daniel Frey
5e9382c23a Refactor hardcoded versions in functions submodule branches
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
2020-10-13 15:15:59 -04:00
Soby Chacko
f257f48f78 Next version updates
Functions: 1.0.0-SNAPSHOT
  Core Apps: 3.0.0-SNAPSHOT
  Apps: 3.0.0-SNAPSHOT
  Aggregate Next:2020.0.0-SNAPSHOT
2020-09-29 18:28:20 -04:00
Soby Chacko
73a3e55299 Functions: Release - 1.0.0-M3 2020-09-29 14:59:33 -04:00
David Turanski
d13a1fceaf Add max-buffer-size and fix app deps 2020-08-13 13:27:15 -04:00
David Turanski
eee707da00 Refactor to use SpEL in function properties
* Clean up per review
2020-08-12 15:39:56 -04:00
Soby Chacko
d59e4f5d86 Next version updates
Functions: 1.0.0-SNAPSHOT
  Core Apps: 3.0.0-SNAPSHOT
  Apps: 3.0.0-SNAPSHOT
  Aggregate Next:2020.0.0-SNAPSHOT
2020-07-13 16:02:05 -04:00
Soby Chacko
7066283aa2 Functions: Release - 1.0.0-M2 2020-07-13 14:43:36 -04:00
Soby Chacko
49468e6148 Renaming internal test boot applications in functions 2020-07-02 18:31:58 -04:00
Soby Chacko
5c59ff6823 Next version updates
Functions: 1.0.0-SNAPSHOT
  Core Apps: 3.0.0-SNAPSHOT
  Apps: 3.0.0-SNAPSHOT
  Aggregate Build: 2020.0.0-SNAPSHOT
2020-06-26 13:49:35 -04:00
Soby Chacko
327641fb05 Functions: Release - 1.0.0-M1 2020-06-25 17:42:02 -04:00
Soby Chacko
1528886cfa Update versions
Fix tests
2020-06-03 13:27:22 -04:00
David Turanski
1ef16b9b3e Add http-request-function and processor app
* Update README
* Clean up per review
* Added function README
* Remove `HttpRequestProcessorProperties$Retry` from the whitelist
2020-05-28 11:01:36 -04:00