python注册的服务,在nacos的服务列表里能看到,但是在java里获取不到实例
python的注册代码 SERVER_ADDRESSES = "127.0.0.1:8848" NAMESPACE = "public" def func(): # no auth mode client = nacos.NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE) client.send_heartbeat("python", "127.0.0.1", "5000") print('send heartbeat')
java的获取代码 @RestController public class TestController {
@Autowired
DiscoveryClient discoveryClient;
@Autowired
RestTemplate restTemplate;
@GetMapping("/hello")
public String sayHello() throws NacosException {
List<ServiceInstance> list = discoveryClient.getInstances("python");
ServiceInstance instance = list.get(0);
}
} 直接就报空指针了 java.lang.NullPointerException: null at java.util.HashMap.putMapEntries(HashMap.java:500) ~[na:1.8.0_111] at java.util.HashMap.putAll(HashMap.java:784) ~[na:1.8.0_111] at com.alibaba.cloud.nacos.discovery.NacosServiceDiscovery.hostToServiceInstance(NacosServiceDiscovery.java:95) ~[spring-cloud-alibaba-nacos-discovery-2.2.0.RELEASE.jar:2.2.0.RELEASE] 这是什么原因啊?
找到解决方法了,python注册的时候需要把参数metadata也加上就可以获取到了。
找到解决方法了,python注册的时候需要把参数metadata也加上就可以获取到了。
我看到文档中说metadata是 Extra info in JSON string format or dict format, 所以这里的值应该是什么?不太理解