首页 > 解决方案 > 升级到 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
{   

}

标签: spring-bootrabbitmqcloud-foundrycircuit-breaker

解决方案


推荐阅读