一、访问Portal端

默认访问地址:http://ip:8070(config默认端口8080、admin默认端口8090)
默认用户密码:apollo/admin
登录后界面如下
在这里插入图片描述

二、创建用户

选择 -> 管理员工具 -> 用户管理
在这里插入图片描述

三、项目创建

在这里插入图片描述
提交报错处理
日志:

org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://192.168.48.128:8080/services/admin": 没有到主机的路由 (Host unreachable); nested exception is 
java.net.NoRouteToHostException: 没有到主机的路由 (Host unreachable)

原因:因为各应用部署在不同机器上,而此时防火墙没有开,所有导致报错;放开防火墙端口后,提示可以进行环境信息补录;
在这里插入图片描述
补缺信息后效果如下
在这里插入图片描述

四、配置集成

4.1、项目中引入pom依赖

版本与上面部署各服务版本保持一致

	<dependency>
         <groupId>com.ctrip.framework.apollo</groupId>
         <artifactId>apollo-client</artifactId>
         <version>1.4.0</version>
    </dependency>

4.2、配置apollo连接信息

application.properties文件中新增如下配置信息

# Apollo管理平台中创建的项目的ID
app.id=test-app
# ConfigService访问地址
apollo.meta=http://192.168.48.128:8080
# 定义缓存目录,Apollo会自动缓存配置到当前目录中
apollo.cacheDir=D:/cacheDir
# 开启Apollo
apollo.bootstrap.enabled=true

4.3、配置读取

4.3.1、配置数据库连接信息

application.properties中,以变量方式配置数据库连接信息

spring.datasource.driver-class-name=${spring.datasource.driver-class-name}
spring.datasource.url=${spring.datasource.url}
spring.datasource.username=${spring.datasource.username}
spring.datasource.password=${spring.datasource.password}
4.3.2、在apollo后管中配置参数

配置数据库连接信息且发布
在这里插入图片描述

4.3.3、编写测试类TestApollo
package com.example.demo.utils;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @Author: pandafox
 * @Desctription: TODO
 * @Date: Created in 2020/7/23 21:45
 * @Version: 1.0
 */
@Controller
public class TestApollo {
	// defaultUrl为默认值,即如果从apollo中未获取到值时使用
    @Value("${spring.datasource.url:defaultUrl}")
    private String url;

    @Value("${spring.datasource.username:defaultUsername}")
    private String username;

    @RequestMapping("/testApollo")
    public String testApollo() {
        System.out.println("url : " + url);
        System.out.println("username : " + username);
        return "ok";
    }

}

4.3.4、开启注解

在启动类上加上@EnableApolloConfig

4.4、效果查看

应用正常启动,则说明从远程configService服务中读取数据库连接信息成功

2020-07-23 22:02:54.457  INFO 2208 --- [           main] c.c.f.f.i.p.DefaultApplicationProvider   : App ID is set to test-app by app.id property from System Property
2020-07-23 22:02:54.464  INFO 2208 --- [           main] c.c.f.f.i.p.DefaultServerProvider        : Environment is set to null. Because it is not available in either (1) JVM system property 'env', (2) OS env variable 'ENV' nor (3) property 'env' from the properties InputStream.
2020-07-23 22:02:54.512  INFO 2208 --- [           main] c.c.f.a.i.DefaultMetaServerProvider      : Located meta services from apollo.meta configuration: http://192.168.48.128:8080!
2020-07-23 22:02:54.529  INFO 2208 --- [           main] c.c.f.apollo.core.MetaDomainConsts       : Located meta server address http://192.168.48.128:8080 for env UNKNOWN from com.ctrip.framework.apollo.internals.DefaultMetaServerProvider
2020-07-23 22:02:55.293  INFO 2208 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on LAPTOP-GBVVMH3R with PID 2208 (D:\3.dev\ideaworkspace\demo\demo\target\classes started by fl in D:\3.dev\ideaworkspace\demo\demo)

访问地址http://localhost:8080/testApollo,控制台会输出如下信息,也说明读取配置信息成功

url : jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username : root
password : root
driver : com.mysql.jdbc.Driver
Logo

为开发者提供自动驾驶技术分享交流、实践成长、工具资源等,帮助开发者快速掌握自动驾驶技术。

更多推荐