Fint Core Consumer streamlines and unifies existing consumer projects into a single, cohesive solution. It allows you to manage and modify consumer behavior through configuration, removing the need to maintain multiple separate consumers.
⚠️ Important Note on Release TagsWe use a specific tagging strategy to combine the FINT-API version with the Information Model version.
Our release tags follow this format: [API Version]_[Information Model Version]
| Release Type | Format | Example | Explanation |
|---|---|---|---|
| Stable | X.Y.Z_A.B.C |
1.0.0_3.21.10 | 1.0.0 is the FINT-API version. 3.21.10 is the Information Model version. |
| Pre-Release | X.Y.Z-rc.N_A.B.C |
1.0.0-rc.1_3.21.10 | Same as above, but includes -rc.1 to indicate it is a Release Candidate. |
A Consumer acts as the bridge between the FINT system and client applications. Its primary responsibilities are:
- Consuming Resources: It listens to Kafka topics to ingest data (resources).
- Caching: It stores these resources locally to ensure fast access and high availability.
- Serving Data: It exposes these resources via a standard HATEOAS REST API.
Components & The Information Model
In the FINT ecosystem, a Consumer belongs to a specific Component. A component is a logical grouping defined by the
Information Model
(e.g., utdanning -> elev).
The consumer manages all resources related to that specific component.
This project uses the provided configuration settings to dynamically determine the domain and package of the resources to be handled.
- Configuration: The app reads the domain and package settings (e.g.,
utdanning/vurdering). - Reflection: Java Reflection is employed to scan and manage these resources automatically.
- Kafka Data Flow: (Coming Soon - Explanation of how data flows from Kafka -> Cache)
- Eviction: (Coming Soon - Explanation of cache eviction policies)
- API-documentation: (Coming Soon - OpenAPI documentation)