【问题标题】:How to handle an asynchronous response in a java library?如何处理 java 库中的异步响应?
【发布时间】:2012-08-06 08:06:30
【问题描述】:

我正在开发一个向服务器(在另一个线程中)发送异步请求的库。

我们的客户将使用这个库,我正在考虑如何让他们处理这个问题的最佳方式。响应可能会在几秒钟到一分钟内出现。我正在使用 jersey-client 执行此操作,并且已经存在一个侦听器,它将在另一个“异步”线程中调用。

所以我有一个共享资源,它将被侦听器的响应“填充”,但主线程必须调用它来检索响应。

有没有更好的方法让客户端可以访问或“通知”响应已到达?类似于 EventNotifier 的东西? (如果我实现了这样的东西,不应该存在类似轮询通知的东西,但这意味着可能存在另一个线程,它必须这样做)。

我对使用我的库的客户没有任何影响,我只能通过适当设计他们调用的库函数来让他们的生活更轻松。

【问题讨论】:

  • 最简单的做法是让请求看起来是同步的,即使它是异步下游。如果客户希望它显示为异步,您需要更改他们的界面,我会与他们讨论他们希望如何更改。

标签: java multithreading asynchronous response


【解决方案1】:

您尝试使用的 servlet 容器版本是什么? Servlet 3.0 为它提供了 builtin support

【讨论】:

  • 它是一个客户端库,使用 Jersey-Client 访问休息接口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2015-11-19
  • 2019-05-28
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多