springcloud通过接口重启及读取配置

25 篇文章 1 订阅
13 篇文章 1 订阅

1、由于重启或读取配置需要用到actuator相关的功能,因此需要先引入包,在pom.xml中加入如下配置

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

2、在启动类中用户自动刷新配置功能,即在启动类中加入@RefreshScope注解

@RefreshScope
public class ServiceGatewayApplication

3、配置Yml 文件,允许访问相关的接口,代码如下

management:
  endpoints:
    web:
      exposure:
        include:
          "*"   

完成上面三个配置后,启动系统,在启动日志中会出现如下日志


2020-07-24 11:45:37,506  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/archaius],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,508  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/auditevents],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,509  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/beans],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,509  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/health],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,510  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/conditions],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,510  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/configprops],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,510  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/env],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,510  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/env/{toMatch}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,512  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/env],methods=[POST],consumes=[application/vnd.spring-boot.actuator.v2+json || application/json],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,512  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/env],methods=[DELETE],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,512  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/info],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,513  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/logfile],methods=[GET],produces=[application/octet-stream]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,513  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/loggers],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,513  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/loggers/{name}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,514  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/loggers/{name}],methods=[POST],consumes=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,514  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/heapdump],methods=[GET],produces=[application/octet-stream]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,514  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/threaddump],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,515  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/metrics/{requiredMetricName}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,515  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/metrics],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,515  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/scheduledtasks],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,516  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/httptrace],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,516  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/mappings],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,516  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/refresh],methods=[POST],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,516  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/features],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,516  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/service-registry],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,517  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/service-registry],methods=[POST],consumes=[application/vnd.spring-boot.actuator.v2+json || application/json],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,518  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/routes],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,518  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/routes],methods=[POST],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,518  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/routes/{format}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,519  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator/filters],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)
2020-07-24 11:45:37,520  [INFO	] main org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping:AbstractHandlerMethodMapping.java:550- Mapped "{[/actuator],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto protected java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.springframework.boot.actuate.endpoint.web.Link>> org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.links(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)

日志中actuator相关的接口即允许我们访问的接口,也可以通过http://ip地址:端口号/actuator 查看系统允许访问哪些接口

其中:actuator/refresh为刷新配置接口,actuator/restart接口为重新启动服务接口。

但是这个配置暴露的接口太多,大多数情况下我们只想用其中几个,因此可以用以下方式来进行配置

management:
  endpoint:
    refresh:
      enabled: true
    restart:
      enabled: true
  endpoints:
    web:
      exposure:
        include:
          refresh,restart

在这个配置为 endpoint用于配置需要启用哪个接口服务,然后在include中配置这个接口的路径即可。

在这里我配置了两个服务,即重新启动服务和刷新配置服务。如果大家要配置其他服务,可以根据actuator提供的接口自行配置

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值