RxJava jersey客户端,带有使用WebResourceFactory构建的代理

问题描述 投票:2回答:2

有没有人知道如何使用客户端代理构建反应式rx java客户端?官方文档:https://jersey.java.net/documentation/2.23.2/rx-client.html仅提供了从WebTarget或客户端手动构建rxclient的示例,这非常麻烦(想象一下在循环中添加查询参数),尤其是如果您已经创建了资源接口。只是将RxWebTarget传递给WebResourceFactory不起作用。

java jersey rx-java jersey-client
2个回答
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);

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代理客户端来帮助管理并发。

© www.soinside.com 2019 - 2024. All rights reserved.