当前,我们正在升级我们的应用程序,以使用 spring boot 2.0.3 。
该应用程序已部署到PCF并使用了断路器,我们还在代码中使用AbstractCloudConfig来初始化会话并从用户提供的服务中检索cassandra的属性。
我们注意到,当使用actuator/health检查运行状况时,rabbit失败,原因是由于连接被拒绝。
它正在尝试连接到localhost,而不是pcf中Rabbit服务提供的主机。
在测试和调试该应用程序之后,我们得出的结论是该问题是由于AbstractCloudConfig
引起的。
为了验证此结论,我们创建了一个使用断路器以及AbstractCloudConfig
的演示应用程序,并且注意到了相同的问题,当我们删除使用AbstractCloudConfig时,一切都很好。
在Spring Boot 2.0.3中使用AbstractCloudConfig
的方式是否不同?或者这是一个问题?
${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
{
}