1.动态刷新案例步骤
1.问题
接着上一步,我们在consul的dev配置分支修改了内容马上访问,结果无效
会发现还是原来的内容,/(ㄒoㄒ)/~~ ,没有做到及时响应和动态刷新
2.步骤
@RefreshScope主启动类添加
package com.atguigu.cloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import tk.mybatis.spring.annotation.MapperScan;
@SpringBootApplication
@MapperScan("com.atguigu.cloud.mapper") //import tk.mybatis.spring.annotation.MapperScan;
@EnableDiscoveryClient //服务注册和发现
@RefreshScope // 动态刷新
public class Main8001
{
public static void main(String[] args)
{
SpringApplication.run(Main8001.class,args);
}
}
Controller
@Value("${server.port}")
private String port;
@GetMapping(value = "/pay/get/info")
private String getInfoByConsul(@Value("${atguigu.info}") String atguiguInfo)
{
return "atguiguInfo: "+atguiguInfo+"\t"+"port: "+port;
}
2.思考
截至到这,服务配置和动态刷新全部通过,假如重启Consul,之前的配置会消失不见
问题:如何实现Consul配置持久化
3.Consul数据持久化配置并且注册为Windows服务
(1)再consul.exe的目录下新建
空文件夹mydata和新建文件consul_start.bat后缀为.bat
(2)consul_start.bat内容
@echo.服务启动......
红色的换成你自己的地址
(3)右键管理员权限打开
(4)启动结果
(5)win后台
(6)后续consul的配置数据会保存进mydata文件夹,重启就有