从 EJB 或 Java EE webapp 使用 http 资源的最佳方式

ran*_*alo 5 java httpclient ejb-3.0 jakarta-ee

我有一个 java ee 7 应用程序,其中 jsf2、ejb3.1、jpa 等在 Glassfish4 容器中运行。

在提交facelet 时,我想调用外部http 资源(很可能使用apache http 客户端)。响应将是文本响应,我需要对其进行解析,然后再做一些数据库操作。

我的第一个想法是从 ejb 调用它,但由于 clint 可能会产生线程,这不是一个好主意。我也听说过限制 httpClient 的方法,它不会产生线程,例如使用 HttpConnectionManager,不使用超时等。但是我想我会失去一些性能。

最终可以使用/触发 httpClient 的异步 ejb 方法怎么样?

实现这一目标的最佳方法是什么?

我应该怎么做来管理连接?

Ale*_*ühl 3

为什么不使用 JAX-RS 客户端,如这个简单示例所示:

 Client client = ClientBuilder.newClient();
 String content = client.target("http://www.google.de")
      .request(MediaType.TEXT_HTML)
      .get(String.class);
Run Code Online (Sandbox Code Playgroud)

更多信息请参阅Java EE 7 教程