How to make an make a web request in an async manner

后端 未结 3 708
别跟我提以往
别跟我提以往 2020-12-12 03:23

I need to make a web request to a RESTful server from Java. I would like for my Java code to handle the response asynchronously. I am looking for a framework which handles t

相关标签:
3条回答
  • This is easily solved in java with the Observer Pattern

    • Create class that extends Observable and implements Runnable
    • Instantiate, pass URL to it.
    • Main object implements Observer, registers with new class as observer
    • Run your Runnable, it does a blocking HttpUrlConneciton, notifies observer with results when done
    • repeat as necessary.
    0 讨论(0)
  • 2020-12-12 04:20

    Check out the ning async http client project on GitHub. It gives you the option to use a Future or to define a callback for when the request completes:

    https://github.com/sonatype/async-http-client

    0 讨论(0)
  • 2020-12-12 04:26

    By the way, I took a look at FutureTask and it does not appear to be what I need because it requires the client to wait for it to complete at some point.

    You don't have to call FutureTask.get() from the initiating thread in order to get the results of the task. You could just have the Callable passed to the FutureTask also handle communicating it's output to some other component. The get() methods are there so that you can get the results of the async computation, which may involve waiting for the computation to finish if it has not yet.

    If you would prefer the callback style, you can simply have the Callable invoke a callback of your own construction or handle the result on it's own.

    0 讨论(0)
提交回复
热议问题