spring-boot - 升级到 Spring Boot 2.0.3 时出现断路器和 AbstractCloudConfig 问题
问题描述
目前我们正在升级我们的应用程序以使用spring boot 2.0.3。
该应用程序部署到 PCF 并使用断路器,我们还在代码中使用 AbstractCloudConfig 来初始化会话并从用户提供的服务中检索 cassandra 的属性。
我们注意到,当使用actuator/health检查运行状况时,rabbit 失败,原因是连接被拒绝。
它试图连接到localhost而不是 pcf 中的 rabbit 服务提供的主机。
在对应用程序进行测试和调试后,我们得出一个结论,即问题是由于AbstractCloudConfig
.
为了验证这个结论,我们创建了一个使用断路器的演示应用程序,并且还AbstractCloudConfig
我们注意到同样的问题,当我们删除 AbstractCloudConfig 的使用时,一切都很好。
AbstractCloudConfig
在 spring boot 2.0.3 中是否有不同的使用方式,或者这是一个问题?
${spring.boot.version} = 2.0.3.RELEASE
pom.xml 中的依赖:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.pivotal.spring.cloud</groupId>
<artifactId>spring-cloud-services-dependencies</artifactId>
<version>2.0.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Kay-SR8</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
<dependency>
<groupId>io.pivotal.spring.cloud</groupId>
<artifactId>spring-cloud-services-starter-circuit-breaker</artifactId>
</dependency>
<dependency>
<groupId>io.pivotal.spring.cloud</groupId>
<artifactId>spring-cloud-services-starter-service-registry</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
CloudCassandraConnectionConfig 类:
@Configuration
@Profile("cloud")
public class CloudCassandraConnectionConfig extends AbstractCloudConfig
{
}
解决方案
推荐阅读
- python - 在多项目列表中拆分字符串,同时将项目保持在一起
- ios - SwiftUI 内存管理
- node.js - 每当我尝试使用我的清除命令时,我的机器人在不和谐聊天中说“无效用户”在 cmd 或终端中没有错误消息
- swift - 导航离开时如何从一个 ViewController 上的 UIView 子视图中处理
- typescript - 获取未实例化的通用类型的键和值类型
- python - 共享使用 Google Sheets API 而不共享凭据的 Python 可执行文件
- netsuite - NetSuite 加载前取消操作
- python - 如何解压元组列表并在 SQLITE3 Python3 列中的多行中重写表?
- apache - 将 {query}.ts 重写为 ts.php?{query}
- javascript - 对于异步函数,我应该使用 await 调用堆栈多远?