使用spring云总线刷新配置更改

klsxnrf1  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(447)

我正在使用springcloudconfig服务器构建一个应用程序,作为保存属性文件的集中位置。我有多个客户端应用程序从配置服务器获取配置数据。
但是,我没有手动刷新每个客户机应用程序以在提交后提取属性文件中的最新更改,而是使用springcloudbus和kafka作为消息代理,以便所有更改都广播到客户机应用程序。下面是pom文件和属性文件。
配置服务器:pom

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

应用程序属性:

server.port = 8980

bootstrap.properties属性:

spring.cloud.bus.enabled=true
   spring.cloud.config.server.git.uri= "some path"

配置客户端:pom

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-kafka</artifactId>
        </dependency>

应用程序属性:

server.port=8982

spring.cloud.bus.refresh.enabled: true
spring.cloud.bus.env.enabled: true
endpoints.spring.cloud.bus.refresh.enabled: true
endpoints.spring.cloud.bus.env.enabled: true

spring.cloud.stream.kafka.binder.autoAddPartitions=true
spring.cloud.stream.kafka.binder.zkNodes=localhost:2181
spring.cloud.stream.kafka.binder.brokers=localhost:9892

bootstrap.properties属性:

spring.application.name=department-service
    spring.cloud.config.uri=http://localhost:8980
    management.security.enabled=false

但在对本地git存储库文件进行更改之后,以及在我尝试使用http://localhost:8982/actuator/bus refresh“端点,给出如下错误:

{
"timestamp": "2019-01-29T08:49:21.569+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/actuator/bus-refresh"

}

ibps3vxo

ibps3vxo1#

您需要在config server application.properties中包含“management.endpoints.web.exposure.include=bus refresh”。之后,向该url发送get请求localhost:8012/actuator 查看刷新配置更改的可用链接。您将看到下面的json

{
"_links": {
    "self": {
        "href": "http://localhost:8012/actuator",
        "templated": false
    },
    "busrefresh-destinations": {
        "href": "http://localhost:8012/actuator/busrefresh/{*destinations}",
        "templated": true
    },
    "busrefresh": {
        "href": "http://localhost:8012/actuator/busrefresh",
        "templated": false
    }
}

然后你可以发送一个帖子到这个网址localhost:8012/actuator/busrefresh

sqserrrh

sqserrrh2#

您需要在config server application.properties中包含“management.endpoints.web.exposure.include=bus refresh”,并点击此url
http://localhost:8980/执行器/总线刷新

相关问题