在做springboot整合成springCloud并注册到consul中时,发现若注册到consule中成功 则不能启动swagger,且不能提供任何API服务,要是能提供API服务则不能注册到consule中,并报错“
了解springcloud架构可以加求求:三五三六二四七二五九
-
Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. "+
-
-
"Please remove spring-boot-starter-web dependency分析了一下,发现在如下代码中会报这个log信息
Configuration @AutoConfigureBefore(GatewayAutoConfiguration.class) public class GatewayClassPathWarningAutoConfiguration { private static final Log log = LogFactory.getLog(GatewayClassPathWarningAutoConfiguration.class); private static final String BORDER = "\n\n**********************************************************\n\n"; @Configuration @ConditionalOnClass(name = "org.springframework.web.servlet.DispatcherServlet") protected static class SpringMvcFoundOnClasspathConfiguration { public SpringMvcFoundOnClasspathConfiguration() { log.warn(BORDER+"Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. "+ "Please remove spring-boot-starter-web dependency."+BORDER); } } @Configuration @ConditionalOnMissingClass("org.springframework.web.reactive.DispatcherHandler") protected static class WebfluxMissingFromClasspathConfiguration { public WebfluxMissingFromClasspathConfiguration() { log.warn(BORDER+"Spring Webflux is missing from the classpath, which is required for Spring Cloud Gateway at this time. "+ "Please add spring-boot-starter-webflux dependency."+BORDER); } } }
最终,我们分析是swagger启动时所要的jar包和springCloud有所冲突,修改我们的POM文件如下,主要是版本的问题:发现consul 1.2版本需要和SpringCloud的Finchley版本才能整合
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
转载于:https://blog.csdn.net/qq116165600/article/details/90640451
相关推荐
使用 Consul 作为 SpringBoot 应用的服务注册组件,可以享受到其全面的功能,如服务发现、健康检查和 DNS 支持。集成 Consul 时,通过 @EnableDiscoveryClient 注解、DiscoveryClient 和 LoadBalancerClient 接口,...
在`spring-cloud-lidong-example`这个示例项目中,你可以看到具体的代码实现,包括如何配置和使用Nacos或Consul进行服务注册与发现。通过研究这个例子,你可以更好地理解这两个工具在SpringCloud中的实际应用。
在这个例子中,我们看到一个基于Spring Boot 2.x、Spring Cloud、Spring Data JPA、Consul、Feign和Swagger构建的微服务系统。以下是这些技术在系统中的关键应用和知识点: 1. **Spring Boot 2.x**: 是一个快速开发...
在现代的分布式系统中,服务发现、服务调用和熔断机制是不可或缺的组件,Spring Boot结合Consul、Feign和HystrixCommand可以有效地解决这些问题。本文将深入探讨这三个技术如何协同工作,构建出一个健壮的微服务架构...
Spring Boot、Spring Cloud、Spring MVC和MyBatis是Spring生态系统中的关键组成部分,它们各自扮演着不同的角色,共同构建了一个完整的微服务架构。 1. **Spring Boot**:Spring Boot简化了Spring应用程序的初始...
3. **启动服务注册**:在Spring Boot应用启动时,会自动将服务注册到Consul。这可以通过在主类上添加`@EnableDiscoveryClient`注解实现。 4. **服务发现**:在其他服务中,我们可以通过`@LoadBalanced`注解的...
接下来,我们将分步骤解析如何在 Spring Boot 应用中集成 Consul: 1. **添加依赖**: 在 Maven 或 Gradle 项目中,你需要引入 Spring Cloud 对 Consul 的支持。对于 Maven,可以在 `pom.xml` 文件中添加如下依赖...
本项目"springcloud-consul-provider"正是展示了如何将Consul集成到Spring Cloud应用中,将其作为服务注册与发现的中心。以下是对这个项目的详细解读。 1. **Consul简介**: Consul是由HashiCorp公司开发的一款...
2. 创建应用注册到 Consul:我们可以通过改造 user-service 和 ribbon-service 来演示下服务注册与发现的功能,主要是将应用原来的 Eureka 注册中心支持改为 Consul 注册中心支持。创建 consul-user-service 模块和 ...
本项目"springcloud-consul-consumer"旨在演示如何在Spring Cloud应用中将Consul作为服务注册中心,实现服务消费者的配置。以下是对这个项目的详细解读。 1. **Consul介绍** Consul是由HashiCorp公司开发的一款...
下载 Consul UI 并将内容复制到 AGENT_PATH/web-ui 从拉取 spring-cloud-consul-demo 运行 mvn clean package 从其文件夹中运行 agent: consul agent: consul agent -server -bootstrap-expect 1 -data-dir ./tmp ...
本文将深入探讨Spring Cloud如何整合Consul实现服务注册。 Consul是由HashiCorp公司开发的一款分布式系统服务发现与配置工具。它具有服务发现、健康检查、KV存储、多数据中心的特性。Consul通过HTTP API和DNS接口,...
Spring Boot Admin为Spring Boot应用程序提供了一个简单的管理界面。 特征: 显示名称/编号和版本号 显示健康状况 显示指标 设置日志级别 与JMX-Beans交互 查看线程转储 查看痕迹 有关更多信息,请参见: : 如何...
标题“Springboot consul 服务端”暗示了我们将讨论如何在Spring Boot应用中集成并使用Consul作为服务发现和注册的工具。服务发现是微服务架构中的关键组成部分,它允许服务之间相互找到并通信,而无需硬编码其他...
consul可以进入后台,威胁敏感信息,对网络设备进行操作
Spring Cloud Consul是Spring Cloud生态中的一个子项目,它为Spring Boot应用提供了与Consul交互的客户端库,使得应用能够注册到Consul服务发现中心,并从Consul获取配置信息。 首先,我们来了解一下Spring Cloud ...
Spring Cloud Zuul是基于Spring Boot实现的微服务网关,它提供路由转发、过滤器等功能,使得客户端可以方便地访问到后端微服务。在这个示例中,Zuul与Consul结合,使得Zuul能够动态地发现注册在Consul中的服务,实现...
SpringBoot和SpringCloud是现代Java开发中非常重要的两个框架,它们在构建微服务架构中扮演着核心角色。SpringBoot简化了Spring应用的初始搭建以及开发过程,而SpringCloud则为微服务提供了完整的解决方案。让我们...
2. 配置Consul:设置Consul的地址、端口等信息,并配置服务发现和配置中心。 3. 配置多数据源:定义多个数据源bean,每个对应一个数据库,配置数据库连接信息,如URL、用户名、密码等。 4. 使用Spring Data JPA:...