Commit Graph

4 Commits

Author SHA1 Message Date
abilan
92fc7b167a * Test against mock(FunctionCatalog.class) 2023-05-24 09:21:07 +02:00
abilan
d0b0d9210d * Add meaningful exception when no function definition in catalog 2023-05-24 09:21:07 +02:00
abilan
42a5319c99 * Fix typos in docs
* Add `spring-cloud-function-integration` into `spring-cloud-function-dependencies`
* Fix "memoize" logic in the `FunctionLookupHelper` and cover it in the `FunctionFlowTests`
against `@SpyBean FunctionCatalog`
2023-05-24 09:21:07 +02:00
abilan
e0629b5080 Introducing spring-cloud-function-integration
Spring Integration Java DSL, is a tool to compose integration flows programmatically.
We can build the flow not only based on standard EIP components, but also using
protocol-specific channel adapters.
Any generic services also can be used as handler in the flow.
This includes simple lambda operations or functions.

On the other hand Spring Cloud Function provides a `FunctionCatalog`
for registered functions and their compositions & conversions.

With this change we introduce a more high-level DSL to use functions
from catalog directly in the `IntegrationFlow` to gain the best from
both worlds.

* Introduce `spring-cloud-function-integration` module based on
`spring-cloud-function-context` and `spring-boot-starter-integration`
* Expose a `FunctionFlowBuilder` auto-configuration
* Add `FunctionFlowDefinition` to expose `apply()` and `accept()` operators
* Document this new module
2023-05-24 09:21:07 +02:00