SpringCloud 通过 tomcat war 包形式启动, 无法注册 consul 服务问题
记一次开发过程中遇到的 consul 和 tomcat中war包 启动联合坑在本地开发环境中使用 springboot 内置容器启动服务注册项目, 可以正常注册到consul服务因为是一个新项目, 测试环境还在搭建, 所以就通过 Alibaba Cloud 将war包发布至我的云服务器来和前端联调接口问题就出现了❗️❗️❗️在使用服务调用者进行调用 consul服务 时, 提示找不到注册的...
·
记一次开发过程中遇到的 consul
和 tomcat中war包
启动联合坑
在本地开发环境中使用 springboot
内置容器启动服务注册项目, 可以正常注册到consul服务
因为是一个新项目, 测试环境还在搭建, 所以就通过 Alibaba Cloud
将war包发布至我的云服务器来和前端联调接口
问题就出现了❗️❗️❗️
在使用服务调用者进行调用 consul服务
时, 提示找不到注册的服务, 经过排查, 是因为服务提供者就没有注册上
1 解决方式
properties:
server.port=your-port-here
spring.cloud.consul.discovery.port=${server.port}
Listener:
@Configuration
@ConditionalOnConsulEnabled
@ConditionalOnMissingBean(type= "org.springframework.cloud.consul.discovery.ConsulLifecycle")
@AutoConfigureAfter(ConsulAutoServiceRegistrationAutoConfiguration.class)
public class MyConsulListener implements ApplicationContextAware {
@Autowired(required=false)
private ConsulAutoServiceRegistration registration;
public void setApplicationContext(ApplicationContext context) throws BeansException {
if (registration != null){
registration.start();
}
}
}
微信搜索【源码兴趣圈】,关注龙台,回复【资料】领取涵盖 GO、Netty、SpringCloud Alibaba、Seata、开发规范、面试宝典、数据结构等电子书 or 视频学习资料!
更多推荐
已为社区贡献7条内容
所有评论(0)