使用 java 代码本地主机端口和缺少路径的领事注册服务
consult register servise using java code localhost port and missing path
我有 java 代码将服务插入我的领事服务,使用 spring-cloud-starter-consul-all 和 java 代码如下:
if (response.getValue().isEmpty()) {
NewService service = new NewService();
service.setAddress("serverhere.com");
service.setPort(8200);
service.setId("servideId");
service.setName("serviceName");
client.agentServiceRegister(service);
}
我还需要添加参数或路径,例如:
http://serverhere.com:8080/parameter1/parameter2.
不知道在哪里插入参数:/parameter1/parameter2.
我试过添加这段代码:
//HealthCheck
NewService.Check serviceCheck = new NewService.Check();
serviceCheck.setHttp(service.getHealthCheck());
serviceCheck.setInterval(healthCheckInterval);
serviceCheck.setTimeout(healthCheckTimeout);
//Path
NewService.Check serviceCheckPath = new NewService.Check();
serviceCheckPath.setScript("/parameter1/parameter2");
serviceCheckPath.setInterval(healthCheckInterval);
List<Check> serviceCheckList = new ArrayList();
serviceCheckList.add(serviceCheck);
serviceCheckList.add(serviceCheckPath);
newService.setChecks(serviceCheckList);
client.agentServiceRegister(newService);
我收到此错误:
OperationException(statusCode=400, statusMessage='Bad Request', statusContent='Request decode failed: json: unknown field "Script"')
你能帮我找到合适的字段来保存与服务相关的路径吗?
提前谢谢你。
Consul service definitions 只能包含 IP 和端口信息。该目录没有用于存储 HTTP 路径信息的第一个 class 方法。
您可以使用服务注册的 Meta
字段将此信息存储在 path
密钥中。然后,您需要在应用程序中编写逻辑以使用 HTTP API 执行服务发现,并将元字段中的 IP、端口和路径连接起来以形成完整的 URL.
我有 java 代码将服务插入我的领事服务,使用 spring-cloud-starter-consul-all 和 java 代码如下:
if (response.getValue().isEmpty()) {
NewService service = new NewService();
service.setAddress("serverhere.com");
service.setPort(8200);
service.setId("servideId");
service.setName("serviceName");
client.agentServiceRegister(service);
}
我还需要添加参数或路径,例如:
http://serverhere.com:8080/parameter1/parameter2.
不知道在哪里插入参数:/parameter1/parameter2.
我试过添加这段代码:
//HealthCheck
NewService.Check serviceCheck = new NewService.Check();
serviceCheck.setHttp(service.getHealthCheck());
serviceCheck.setInterval(healthCheckInterval);
serviceCheck.setTimeout(healthCheckTimeout);
//Path
NewService.Check serviceCheckPath = new NewService.Check();
serviceCheckPath.setScript("/parameter1/parameter2");
serviceCheckPath.setInterval(healthCheckInterval);
List<Check> serviceCheckList = new ArrayList();
serviceCheckList.add(serviceCheck);
serviceCheckList.add(serviceCheckPath);
newService.setChecks(serviceCheckList);
client.agentServiceRegister(newService);
我收到此错误: OperationException(statusCode=400, statusMessage='Bad Request', statusContent='Request decode failed: json: unknown field "Script"')
你能帮我找到合适的字段来保存与服务相关的路径吗? 提前谢谢你。
Consul service definitions 只能包含 IP 和端口信息。该目录没有用于存储 HTTP 路径信息的第一个 class 方法。
您可以使用服务注册的 Meta
字段将此信息存储在 path
密钥中。然后,您需要在应用程序中编写逻辑以使用 HTTP API 执行服务发现,并将元字段中的 IP、端口和路径连接起来以形成完整的 URL.