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

Reply via email to