Adam, I think this is a great suggestion and it accomplishes what SHOULD be
mission goals with EVERY issue which is worked. Namely:

   1. a.) Lowers cognitive load and b.) reduces skills / prep time required
   for implementations
   2. Improves testing while reducing testing effort.
   3. Plays nice with multiple HTTP clients giving options without coding
   and allows for future changes in default clients.
   4. Slightly less scalable than some other choices, but this OpenFeign is
   by far the most elegant and simple "bang for the effort".

All for adding it to backlog and determining priority.

On Mon, Sep 22, 2025 at 6:06 AM Ádám Sághy <[email protected]> wrote:

> Hi all,
>
> I’d like to suggest that we start moving away from our current use of 
> *hardcoded
> Retrofit + OkHttp clients* in Fineract, and instead adopt *OpenFeign*.
> Why this matters
>
> Right now, whenever we make an HTTP call, we’re wiring up Retrofit +
> OkHttp directly. This works, but it locks us into a single client
> implementation, and over time it makes things harder to configure, extend,
> and test. For example:
>
>
>    - If we want to change timeouts, add retries, or enable tracing, we
>    often end up duplicating boilerplate code.
>    - If OkHttp ever causes problems, swapping it out would be painful.
>    - It’s not straightforward to mock Retrofit clients in tests without a
>    lot of setup.
>    - It does not support connection maxAge for connection recycling
>    - etc.
>
>
> By contrast, Feign lets us define an *interface* for the HTTP call, and
> handles the rest under the hood. That means:
>
>
>    - We can switch the underlying HTTP client (OkHttp, Apache HttpClient,
>    etc.) with almost no code changes.
>    - Cross-cutting concerns (timeouts, retries, error handling, logging,
>    metrics, authentication) can all be configured centrally instead of
>    re-implemented in each client.
>
>
>
> Why now?
>
> As Fineract grows — with more integrations, cloud deployments, and
> potentially microservice architectures — having a flexible, future-proof
> HTTP client layer will pay off a lot. OpenFeign is well-maintained, widely
> used, and integrates nicely with metrics/tracing libraries, so we’d be
> standing on solid ground.
>
> I’d love to hear what others think — concerns, alternatives, or
> experiences from projects where you’ve used Feign (or similar) before.
>
>
> Regards,
>
> Adam
>


-- 
--
Paul

Reply via email to