无法启用/监控spring-cloud-bus的端点以进行推送通知

时间:2016-03-03 17:19:20

标签: spring cloud spring-cloud bus spring-rabbitmq

我已将spring cloud配置配置为从git存储库中读取属性。如果配置发生更改,则使用当前实现,如果在我的客户端上发布到/ refresh,我可以看到更新的属性。现在,我想使用spring-cloud-bus-monitor来检测我的git repo中的更改,并自动刷新客户端端点中的属性。即使在依赖项中添加了spring-cloud-config-monitor之后,/ monitor端点也未启用,因此即使配置服务器中的配置属性发生更改,也不会刷新任何内容。

我也有一个在本地运行的RabbitMQ服务器。 了解如何启用/ monitor以将通知推送到总线中的所有客户端的任何指针

http://localhost:8888/monitor

{
"timestamp": 1457025362412
"status": 405
"error": "Method Not Allowed"
"exception": "org.springframework.web.HttpRequestMethodNotSupportedException"
"message": "Request method 'POST' not supported"
"path": "/monitor"
}

o.s.cloud.bus.event.RefreshListener      : Received remote refresh request. Keys refreshed []

服务器pom依赖项:

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-monitor</artifactId>
        <scope>test</scope>
    </dependency>
     <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>

application.properties:

spring.cloud.config.server.git.uri=file:\\\C:\\Users\\spring-cloud-config
server.port=8888
spring.cloud.config.server.monitor.github=false 

客户端中的pom依赖:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</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-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-monitor</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>

1 个答案:

答案 0 :(得分:1)

您不会说出您使用的是什么版本,它只能在Brixton中使用(最新版本是M5)。删除<scope>test</scope>

应该是:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-monitor</artifactId>
</dependency>
客户端不需要

spring-cloud-config-monitor

监视器旨在由git托管服务webhooks使用。如果您正在使用文件系统,则必须使用native配置服务器配置文件。有关详细信息,请参阅here