Giter Site home page Giter Site logo

add feign-rxjava about feign HOT 13 OPEN

openfeign avatar openfeign commented on August 18, 2024
add feign-rxjava

from feign.

Comments (13)

kdavisk6 avatar kdavisk6 commented on August 18, 2024 2

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.

benjchristensen avatar benjchristensen commented on August 18, 2024

I'm definitely interested in working on this module with you.

from feign.

codefromthecrypt avatar codefromthecrypt commented on August 18, 2024

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.

cc @brianm @NiteshKant

from feign.

spencergibb avatar spencergibb commented on August 18, 2024

+1

from feign.

jdamick avatar jdamick commented on August 18, 2024

+1

from feign.

yterradas avatar yterradas commented on August 18, 2024

+1

from feign.

stemcd avatar stemcd commented on August 18, 2024

+1

from feign.

christopherlakey avatar christopherlakey commented on August 18, 2024

👍

from feign.

codefromthecrypt avatar codefromthecrypt commented on August 18, 2024

from feign.

mariuszs avatar mariuszs commented on August 18, 2024

👍

from feign.

christopherlakey avatar christopherlakey commented on August 18, 2024

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.

christopherlakey avatar christopherlakey commented on August 18, 2024

Just submitted a PR with Observable support and updated unit tests.

#307

from feign.

CoderYellow avatar CoderYellow commented on August 18, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.