= Aggregator Function

This module provides an aggregation function that can be reused and composed in other applications.

== Beans for injection

You can import the `AggregatorFunctionConfiguration` in a Spring Boot application and then inject the following bean.

`aggregatorFunction`

You can use `aggregatorFunction` as a qualifier when injecting.

Once injected, you can use the `apply` method of the `Function` to invoke it and get the result.

== Configuration Options

For more information on the various options available, please see link:src/main/java/org/springframework/cloud/fn/aggregator/AggregatorFunctionProperties.java[AggregatorFunctionProperties.java]

A `ComponentCustomizer<AggregatorFactoryBean>` bean can be added in the target project to provide any custom options for the `AggregatorFactoryBean` configuration used by the `aggregatorFunction` definition.

== Tests

See this link:src/test/java/org/springframework/cloud/fn/aggregator/AbstractAggregatorFunctionTests.java[test suite] for examples of how this function is used.

== Other usage

See this https://github.com/spring-cloud/stream-applications/blob/main/applications/processor/aggregator-processor/README.adoc[README] where this function is used to create a Spring Cloud Stream application.
