有没有人知道如何使用客户端代理构建反应式rx java客户端?官方文档:https://jersey.java.net/documentation/2.23.2/rx-client.html仅提供了从WebTarget或客户端手动构建rxclient的示例,这非常麻烦(假设在循环中添加查询参数),尤其是在您已经创建了资源接口的情况下。只是将RxWebTarget传递给WebResourceFactory不起作用。
答案 0 :(得分:0)
ClientConfig config = new ClientConfig();
config.connectorProvider(new ApacheConnectorProvider());
config.property(ClientProperties.PROXY_URI, "xxxx:xxxx");
Client client = JerseyClientBuilder.newClient(config);
return RxObservable.from(client).register(loggingFilter);
答案 1 :(得分:0)
查看2.26版WebResourceFactory源代码,WebResourceFactory创建的Jersey代理客户端与反应式客户端编码不兼容。这两行代码通过线路调用调用,而不会引起引发反应式的rx()
调用:
result = builder.method(httpMethod, Entity.entity(entity, contentType), responseGenericType);
} else {
result = builder.method(httpMethod, responseGenericType);
您可以考虑添加该功能,因为WebResourceFactory类不是非常大或复杂。
Jersey 2.26引入了为您的JerseyClient实例分配ExecutorService的功能,然后您可以通过从Callable<>内调用您的Jersey代理客户端来帮助管理并发性。后代。