Comments (13)
This project is run entirely by (2) volunteers. If this is something you are interested in pursuing , we are open to pull requests or more conversation on how we can support this proposal.
I will add, that what we've learned about adding non-blocking support is that it will take a fairly substantial refactoring of the library. Feign's origins began before async and non-blocking I/O support was more widely used and mature.
from feign.
I'm definitely interested in working on this module with you.
from feign.
this might be best resurrected as feign-rxnetty, possibly using the bolt-on idea from @jdamick.
Only thing is that the interactions could be complex. ex. the builder for feign-rxnetty probably wouldn't want to expose many of the existing things that builders accept. Ex. Client (as it is synchronous).
Probably first stage would be to have a buddy module with a hard dep on rxnetty, and exposes an alternate builder that only exposes things that actually make sense. builders aren't that much code and heck, google auto can make them for us.
from feign.
+1
from feign.
+1
from feign.
+1
from feign.
+1
from feign.
👍
from feign.
from feign.
👍
from feign.
Methods that do not return HystrixCommand are still wrapped in a HystrixCommand, but execute() is automatically called for you.
It might be nice if methods that return Observable are still wrapped in a HystrixCommand, but toObservable() is automatically called for you. It seems this would be a straight forward feature to add.
Once an RxJava module is added, you could choose either the RxJava module or the Hystrix module w/o having to update your interfaces.
I don't have any Hystrix experience yet, but I would be willing to implement the required changes if there's a chance of a PR being accepted.
from feign.
Just submitted a PR with Observable support and updated unit tests.
from feign.
8 yers passed, all the modern declarative HTTP clients(retrofit,micronaut,quarkus) has supported reactive programming, except feign. may be your team should dig deeper into their implentation.
from feign.
Related Issues (20)
- Is the response.body().asInputStream loads whole file into memory?
- Cannot get a response body from FeignException HOT 1
- Feign observation span is not put in "scope" - loggers do not see current spanId
- What was the need to do it in such a way?
- jdk http2client should not cache the InputStream HOT 1
- Resolving response protocol version using OkHttp3 fails due to OkHttp3.Protocoll class .toString() method not returning name of class HOT 1
- Observable FeignContext with immutable Headers
- AsyncApacheHttp5Client : Proposal to make creating the callback FutureCallback<SimpleHttpResponse>> through a public factory method
- Take ProxyMethod's "argv" into RequestTemplate
- did we forget to publish version 13.3 to maven central? HOT 2
- feign 13.3 available in mvnrepository. No release announcement ?!!!
- Backward compatibility issue of overload resolution ambiguity
- java.lang.IllegalArgumentException: Deflate Content-Encoding is not supported by feign-hc5
- Using feign with multiple possible 20x codes
- Encode issue with feign.template.Template#resolveExpression HOT 1
- DecodeException on Map<String, List<String>> result
- Feign Client and Jakarta, where? Jaxrs3Contract extends Jaxrs2Contract HOT 2
- Fallback not working post version 12.4
- incomplete Object information when serialize object with Gson HOT 1
- Application gets stuck when Feign client is used with virtual threads
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from feign.