【发布时间】:2016-02-27 23:54:36
【问题描述】:
我的系统有许多以太网接口,如 eth0、eth1、eth3 等,为每个接口配置了不同的 IP 地址。
我的应用程序部署在这个系统上,作为 REST 客户端,它将向两个服务器 A 和 B 发出请求。要求是在向服务器 A 发送 REST 请求时,源 IP 地址应该是“eth0”IP 地址,而向服务器 B 发送请求,我应该使用“eth1” ip 地址。
我使用下面的代码发出客户端请求
client = ClientBuilder.newClient();
WebTarget webTarget = client.target(node.getUrl());
webTarget = target.path(path).resolveTemplatesFromEncoded(pathValues);
Builder builder = webTarget.request();
response = builder.post(entity);
我以为我可以在“客户端”中设置源 IP 地址,但找不到任何方法。您能告诉我如何为客户端请求设置此源 IP 地址吗?
【问题讨论】:
-
您必须以某种方式将自定义 SocketFactory 与 Jersey 一起使用。不是一件容易的事:/
标签: java rest jax-rs jersey-client