Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在servlet容器中使用rest客户端的最佳实践_Java_Servlets_Jax Rs - Fatal编程技术网

Java 在servlet容器中使用rest客户端的最佳实践

Java 在servlet容器中使用rest客户端的最佳实践,java,servlets,jax-rs,Java,Servlets,Jax Rs,我正在做一个项目,我们有一个运行在tomcat容器中的大型门户。每次用户登录门户时,都会通过调用rest客户端检索一些信息。代码如下所示: public class RestClient { private static final String REST_URI = "http://url.tld/to/login/api"; private Client client; public Client getClient() { if (client

我正在做一个项目,我们有一个运行在tomcat容器中的大型门户。每次用户登录门户时,都会通过调用rest客户端检索一些信息。代码如下所示:

public class RestClient {

    private static final String REST_URI = "http://url.tld/to/login/api";

    private Client client;

    public Client getClient() {
        if (client == null) {
            client = ClientBuilder.newClient();
        }
        return client;
    }

    public LoginData getLoginData(int userId) {
        return client
          .target(REST_URI)
          .path(String.valueOf(userId))
          .request(MediaType.APPLICATION_JSON)
          .get(LoginData.class);
    }

}

我使用apachecxf作为jax-rs客户机实现。据我所知,客户端对象应该是线程安全的,所以这不应该是个问题。但是,想象一下,10000名用户同时打开网站,对于每个请求,都会执行上述代码。我是否遇到性能问题?我是否需要不止一个客户端对象,可能需要一个客户端池?

否,但可能需要一些内部对象,您可以使用
ClientBuilder
进行配置。我建议您阅读文档。没有,但是您可以使用
ClientBuilder
配置一些内部内容。我建议阅读文档。