自学内容网 自学内容网

Spring cloud 一.Consul服务注册与发现(4)

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.服务启动......  

@echo off  
@sc create Consul binpath= " D:\devSoft\consul_1.17.0_windows_386\consul.exe agent -server -ui -bind=127.0.0.1 -client=0.0.0.0 -bootstrap-expect  1  -data-dir D:\devSoft\consul_1.17.0_windows_386\mydata   "
@net start Consul
@sc config Consul start= AUTO  
@echo.Consul start is OK......success
@pause

红色的换成你自己的地址

(3)右键管理员权限打开

(4)启动结果

(5)win后台

(6)后续consul的配置数据会保存进mydata文件夹,重启就有


原文地址:https://blog.csdn.net/mmmmazhiyuan/article/details/143979617

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!