Java 在servlet容器中使用rest客户端的最佳实践
我正在做一个项目,我们有一个运行在tomcat容器中的大型门户。每次用户登录门户时,都会通过调用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
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
配置一些内部内容。我建议阅读文档。