开发者社区 > 云原生 > 正文

EndpointId在注册时有警告,无法成功注册

spring-boot 版本是2.1.6

public final class EndpointId { private static final Log logger = LogFactory.getLog(EndpointId.class); private static Set loggedWarnings = new HashSet(); private static final Pattern VALID_PATTERN = Pattern.compile("[a-zA-Z0-9.-]+"); //这里有指定不可以使用 - 而我们的名字是叫 nacos-discovery 所以注册不成功 private static final Pattern WARNING_PATTERN = Pattern.compile("[.-]+"); private final String value; private final String lowerCaseValue; private final String lowerCaseAlphaNumeric;

private EndpointId(String value) { Assert.hasText(value, "Value must not be empty"); Assert.isTrue(VALID_PATTERN.matcher(value).matches(), "Value must only contain valid chars"); Assert.isTrue(!Character.isDigit(value.charAt(0)), "Value must not start with a number"); Assert.isTrue(!Character.isUpperCase(value.charAt(0)), "Value must not start with an uppercase letter");

//此处会进入警告日志 if(WARNING_PATTERN.matcher(value).find()) { logWarning(value); }

this.value = value;
this.lowerCaseValue = value.toLowerCase(Locale.ENGLISH);
this.lowerCaseAlphaNumeric = this.getAlphaNumerics(this.lowerCaseValue);

}

log日志:

2019-06-28 21:13:50.122 WARN 13916 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'nacos-discovery' contains invalid characters, please migrate to a valid format. 2019-06-28 21:13:50.893 WARN 13916 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'service-registry' contains invalid characters, please migrate to a valid format.

原提问者GitHub用户Tank-zhu

展开
收起
白夜行fighting 2023-06-11 10:32:42 180 0
1 条回答
写回答
取消 提交回答
  • 执行器中弹簧引导端点id的策略在每个版本中都不同。

    它是警告日志,不会影响您的应用程序。

    服务注册失败是另一个问题。检查您的应用程序和nacos日志。

    原回答者GitHub用户fangjian0423

    2023-06-11 11:25:34
    赞同 展开评论 打赏
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载