Apollo使用
目录一、访问Portal端二、创建用户三、项目创建四、配置集成4.1、项目中引入pom依赖4.2、配置apollo连接信息4.3、配置读取4.3.1、配置数据库连接信息4.3.2、在apollo后管中配置参数4.3.3、编写测试类TestApollo4.3.4、开启注解4.4、效果查看一、访问Portal端默认访问地址:http://ip:8070(config默认端口8080、admin默认端口
·
目录
一、访问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
更多推荐
已为社区贡献1条内容
所有评论(0)