相关疑难解决方法(0)

java Jersey 2.1客户端线程安全吗?

针对jersey 2.0的文档说:

客户端实例是昂贵的资源.建议重新使用已配置的实例来创建Web资源.Web资源的创建,请求的构建和响应的接收都保证是线程安全的.因此,可以在多个线程之间共享Client实例和WebResource实例

客户端在2.1版中仍然是线程安全的吗?我在2.1的文档中找不到有关线程安全的信息.

java jersey thread-safety jersey-client jersey-2.0

33
推荐指数
2
解决办法
1万
查看次数

使用Jersey Client 2.22.1关闭GET请求中的连接

我使用Jersey客户端从Java代码进行REST调用:

<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
    <version>2.22.1</version>
</dependency> 
Run Code Online (Sandbox Code Playgroud)

在我的GET请求中,

javax.ws.rs.client.Invocation.Builder builder = ClientBuilder.newClient().target(url).request(); 
builder.get().readEntity(String.class);
Run Code Online (Sandbox Code Playgroud)

客户将在致电后自动关闭readEntity(String.class).

如果我用,

builder.get(String.class);  
Run Code Online (Sandbox Code Playgroud)

我得到相同的输出.

连接是自动关闭还是我需要在这种情况下手动关闭它?

jersey jersey-client jersey-2.0

8
推荐指数
1
解决办法
1万
查看次数

使用jersey的JAX RS的内存问题

我们目前在高效的服务器上遇到了一些问题,因为它消耗的内存过多.其中一个漏洞可能来自球衣客户端.我发现了以下两个问题以及如何:

  1. 如何正确共享JAX-RS 2.0客户端
  2. 关闭JAX RS客户端/响应
  3. https://blogs.oracle.com/japod/entry/how_to_use_jersey_client

我从中获得了什么,我应该重用客户端,还可能重用WebTargets?同时建议关闭响应,但是如何使用.request()执行此操作?

代码示例,使用不同的路径每小时调用大约1000次:

public byte[] getDocument(String path) {
    Client client = ClientBuilder.newClient();
    WebTarget target = client.target(config.getPublishHost() + path);
    try {
        byte[] bytes = target.request().get(byte[].class);
        LOGGER.debug("Document size in bytes: " + bytes.length);
        return bytes;
    } catch (ProcessingException e) {
        LOGGER.error(Constants.PROCESSING_ERROR, e);
        throw new FailureException(Constants.PROCESSING_ERROR, e);
    } catch (WebApplicationException e) {
        LOGGER.error(Constants.RESPONSE_ERROR, e);
        throw new FailureException(Constants.RESPONSE_ERROR, e);
    } finally {
        client.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何正确使用API​​来防止上述示例的泄漏?

java rest performance jersey java-memory-leaks

2
推荐指数
1
解决办法
2316
查看次数