Java 如何使用Executor创建Jersey 2客户端

Java 如何使用Executor创建Jersey 2客户端,java,rest,glassfish,jersey-2.0,jersey-client,Java,Rest,Glassfish,Jersey 2.0,Jersey Client,我用下面的代码创建了一个jersey 2客户端 ClientConfig clientConfig = new ClientConfig(); clientConfig.property(ClientProperties.READ_TIMEOUT, 5000); clientConfig.property(ClientProperties.CONNECT_TIMEOUT, 10000); Client client = ClientBuilder.newClient(clientConfig)

我用下面的代码创建了一个jersey 2客户端

ClientConfig clientConfig = new ClientConfig();
clientConfig.property(ClientProperties.READ_TIMEOUT, 5000);
clientConfig.property(ClientProperties.CONNECT_TIMEOUT, 10000);
Client client =  ClientBuilder.newClient(clientConfig);       
我可以提出要求,一切都很好。但是我想控制客户端执行线程的数量。在jersey 1中,我们可以有如下相同的实现

Client client =  Client.create();
client.setConnectTimeout(5000);
client.setReadTimeout(10000);
client.setExecutorService(Executors.newFixedThreadPool(10));
我想复制同样的东西

client.setExecutorService(Executors.newFixedThreadPool(10))

泽西2号的客户

经过一番搜索,我找到了泽西2号。但它是可用的
在jersey 2(2.26)的最新版本中。我使用的是运动衫版本。如何在2.25.1版本中实现同样的功能?

我只是在挖掘源代码并找到了它。如果您实现了前者并用后者对其进行注释,那么只要请求是异步的(在编辑之前我注意到您正在寻找同步的),并且您向客户机注册了提供者,就应该使用您的执行器

@ClientAsyncExecutor
static class MyExecutorServiceProvider implements ExecutorServiceProvider {

    @Override
    public ExecutorService getExecutorService() {
        System.out.println("Calling getExecutorService()");
        return Executors.newFixedThreadPool(10);
    }

    @Override
    public void dispose(ExecutorService executorService) {
        executorService.shutdown();
    }
}

Client client = ClientBuilder.newClient()
client.register(new MyExecutorServiceProvider());

Future<Response> res = client.target("test").async().get()
@ClientAsyncExecutor
静态类MyExecutorServiceProvider实现ExecutorServiceProvider{
@凌驾
公共执行器服务getExecutorService(){
System.out.println(“调用getExecutorService()”;
返回执行器。newFixedThreadPool(10);
}
@凌驾
公共无效处置(执行服务执行服务){
executorService.shutdown();
}
}
Client Client=ClientBuilder.newClient()
注册(新的MyExecutorServiceProvider());
Future res=client.target(“test”).async().get()

hmm。不使用ExecutorServiceProvider接口也可以这样做吗?我有ExecutorService的实例,出于某种原因,我想直接注册而不必包装ExecutorServiceProvider。可能的