【问题标题】:Play - async communication with 3rd party APIPlay - 与 3rd 方 API 的异步通信
【发布时间】:2012-09-10 23:31:38
【问题描述】:

我不知道如何继续。我正在尝试将 play 1.2.5 框架与第 3 方 API(Interactive Brokers)一起使用。

我知道有人为 Grails Java : How to achieve socket programming functionality with 3rd party API回答了类似的问题

基本上,IB API 对请求和回复使用异步通信。即当我调用 getData() 时,API 知道在准备好发送它们时使用回调函数 dataResults()。为了使 dataResults() 可以调用,我创建的代理对象仍然需要在附近才能接收回复。 在控制器函数内部,如果我创建一个代理对象并调用 getData(),当请求完成时,代理对象显然也会消失。所以我永远无法收到回复。

关于如何在 Play 中执行此操作的任何理想?任何帮助将非常感激。

谢谢

【问题讨论】:

  • 我正在做一个类似的项目。我必须创建一个从 IB API 获取数据的 Web 应用程序(使用 play 20)。但从我读过的内容来看,IB API 需要运行 TWS 或 IB 网关。这些可执行文件是问题所在,因为如果我决定在 Heroku 上部署,我将无法在 Heroku 上运行 TWS 或 IB 网关。您是如何将 IB API 与 Play 框架一起使用的?
  • 抱歉帮不上忙。我有 tws 正在运行。如果你弄清楚了,那将是很好的分享信息。

标签: java api asynchronous playframework


【解决方案1】:

您是否考虑过使用 play 对异步工作的内置支持? http://www.playframework.org/documentation/1.2.5/asynchronous

或者,如果您正在考虑框架的第 2 版,您可能会在以下位置看到不同之处: http://playframework.org/documentation/2.0.3/JavaAsync

这可能有助于解决您的问题,但如果您需要将对象保留更长的时间,当然总是有静态路由。

【讨论】:

  • 感谢您的反馈。在阅读了该框架之后,我了解到它支持异步功能,例如聊天示例。但我正在尝试与异步 API 进行通信。所以我认为我需要走静态路线,在那里我有一个使用 API 的类,然后在收到响应时使用 JPA 在数据库中创建/更新数据。有关如何设置此类内容的任何提示或链接?还是有更好的设计方法?
  • 感谢您的帮助。对于任何其他有类似问题的人,这也有一些有用的信息:stackoverflow.com/questions/4795086/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-11
  • 2017-05-21
  • 2011-06-22
  • 1970-01-01
相关资源
最近更新 更多