Java Apollo环境搭建以及集成SpringBoot案例详解

环境搭建

下载Quick Start安装包

从Github下载:checkout或下载apollo-build-scripts项目

手动打包Quick Start安装包

  • 修改apollo-configservice, apollo-adminservice和apollo-portal的pom.xml,注释掉spring-boot-maven-plugin和maven-assembly-plugin
  • 在根目录下执行mvn clean package -pl apollo-assembly -am -DskipTests=true
  • 复制apollo-assembly/target下的jar包,rename为apollo-all-in-one.jar

创建数据库

Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,数据库、表的相关Sql在安装包里,只需要导入数据库即可。直接导入就行。

配置数据库连接信息

-Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑demo.sh,修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息。

注意:填入的用户需要具备对ApolloPortalDB和ApolloConfigDB数据的读写权限。

#apollo config db info
apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用户名
apollo_config_db_password=密码(如果没有密码,留空即可)

# apollo portal db info
apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用户名
apollo_portal_db_password=密码(如果没有密码,留空即可)

注意:不要修改demo.sh的其它部分

修改默认的apollo端口

# meta server url
config_server_url=http://localhost:6001
admin_server_url=http://localhost:6002
eureka_service_url=$config_server_url/eureka/
portal_url=http://localhost:6003

启动apollo配置中心

  • 在 git bash窗口中运行命令行
./demo.sh start
  • 启动成功界面信息如下:

  • 如果启动报错,请在相应的日志文件中查看出错原因。

Apollo启动成功

  • 默认8080界面

  • 8090 apoolo配置界面

登录配置中心、新建服务的相关配置

  • 默认账号密码:
apollo
admin

Apollo 集成 SpringBoot 读取配置文件

概述

Apollo支持API方式和Spring整合方式,该怎么选择用哪一种方式?

  • API方式灵活,功能完备,配置值实时更新(热发布),支持所有Java环境。
  • Spring方式接入简单。 Spring方式也可以结合API方式使用,如注入Apollo的Config对象,就可以照常通过API方式获取配置了:
@ApolloConfig
private Config config; //inject config for namespace application

引入依赖

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

在配置中心新建配置文件

配置私有的 app-demo-one-dev 和共有的 app-common-dev

  • app-demo-one-dev私有配置

  • app-common-dev 共有配置

SpringBoot 配置拉去配置文件

  • application.yml
apollo:
  bootstrap:
    eagerLoad:
      enabled: true
    enabled: true
    namespaces: application,TEST1.ConfigOne
  meta: http://localhost:8080
app:
  id: app-demo-one-dev

到此这篇关于Java Apollo环境搭建以及集成SpringBoot案例详解的文章就介绍到这了,更多相关Java Apollo环境搭建以及集成SpringBoot内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 携程Apollo(阿波罗)安装部署以及java整合实现

    服务器部署 可以按照apollo wiki 进行部署 https://github.com/ctripcorp/apollo/wiki/Quick-Start 安装 Java 环境 java 创建数据库 Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把数据库.表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可. 执行两个sql文件 sql/apolloportaldb.sql sql/apolloconfigdb.sql 会创建两

  • java客户端线上Apollo服务端的实现

    1.指定环境 1.1 在C:\opt\settings\下有server.properties env=DEV是对应服务器上的如下图 apollo.meta=http://192.168.1.143:8070是你服务端的端口号   1.2 在C:\opt\data\babel023\config-cache有这四个文件 2.在META-INF下创建app.properties app.properties下的内容app.id对应Apollo服务端的id 3.创建个SimpleApolloConf

  • Java Apollo是如何实现配置更新的

    这篇文档主要关注下配置修改后对应的 Java 对象是如何更新,并不关注整体的配置改动流程 所有代码都来自 apollo-client 项目 更新流程 在 Apollo 控制台进行配置修改并发布后,对应的 client 端拉取到更新后,会调用到 com.ctrip.framework.apollo.spring.property.AutoUpdateConfigChangeListener#onChange 方法 在调用 onChange 会收到对应的修改的配置信息 ConfigChangeEve

  • Java Apollo环境搭建以及集成SpringBoot案例详解

    环境搭建 下载Quick Start安装包 从Github下载:checkout或下载apollo-build-scripts项目 手动打包Quick Start安装包 修改apollo-configservice, apollo-adminservice和apollo-portal的pom.xml,注释掉spring-boot-maven-plugin和maven-assembly-plugin 在根目录下执行mvn clean package -pl apollo-assembly -am

  • go语言入门环境搭建及GoLand安装教程详解

    Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型.编译型语言.Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算. Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

  • Java之Error与Exception的区别案例详解

    首先,Error类和Exception类都是继承Throwable类 Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正.一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等.对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止. Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复.遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止

  • Java CharacterEncodingFilter过滤器的理解和配置案例详解

    在web项目中我们经常会遇到当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,这些问题的原因就是因为我们项目中使用的编码不一样.为了解决这个问题我们就可以使用CharacterEncodingFilter类,他是Spring框架对字符编码的处理,基于函数回调,对所有请求起作用,只在容器初始化时调用一次,依赖于servlet容器.具体配置如下: <filter> <filter-name>character

  • Java 高并发的三种实现案例详解

    提到锁,大家肯定想到的是sychronized关键字.是用它可以解决一切并发问题,但是,对于系统吞吐量要求更高的话,我们这提供几个小技巧.帮助大家减小锁颗粒度,提高并发能力. 初级技巧-乐观锁 乐观锁使用的场景是,读不会冲突,写会冲突.同时读的频率远大于写.  悲观锁的实现: 悲观的认为所有代码执行都会有并发问题,所以将所有代码块都用sychronized锁住 乐观锁的实现: 乐观的认为在读的时候不会产生冲突为题,在写时添加锁.所以解决的应用场景是读远大于写时的场景. 中级技巧-String.i

  • Java Spring @Lazy延迟注入源码案例详解

    前言 有时候我们会在属性注入的时候添加@Lazy注解实现延迟注入,今天咱们通过阅读源码来分析下原因 一.一个简单的小例子 代码如下: @Service public class NormalService1 { @Autowired @Lazy private MyService myService; public void doSomething() { myService.getName(); } } 作用是为了进行延迟加载,在NormalService1进行属性注入的时候,如果MyServ

  • Java Stopwatch类,性能与时间计时器案例详解

    在研究性能的时候,完全可以使用Stopwatch计时器计算一项技术的效率.但是有时想知道某想技术的性能的时候,又常常想不起可以运用Stopwatch这个东西,太可悲了. 属性: Elapsed 获取当前实例测量得出的总运行时间. ElapsedMilliseconds  获取当前实例测量得出的总运行时间(以毫秒为单位). ElapsedTicks  获取当前实例测量得出的总运行时间(用计时器计时周期表示). IsRunning   获取一个指示 Stopwatch 计时器是否在运行的值. 方法

  • Java 处理超大数类型之BigInteger案例详解

    一.BigInteger介绍 如果在操作的时候一个整型数据已经超过了整数的最大类型长度 long 的话,则此数据就无法装入,所以,此时要使用 BigInteger 类进行操作.这些大数都会以字符串的形式传入. BigInteger 相比 Integer 的确可以用 big 来形容.它是用于科学计算,Integer 只能容纳一个 int,所以,最大值也就是 2 的 31 次访减去 1,十进制为 2147483647.但是,如果需要计算更大的数,31 位显然是不够用的,那么,此时 BigIntege

  • Java toString方法重写工具之ToStringBuilder案例详解

    apache的commons-lang3的工具包里有一个ToStringBuilder类,这样在打日志的时候可以方便的打印出类实例中的各属性的值. 具体用法如下: import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; public class Message { private String from; private Stri

  • Java 使用maven实现Jsoup简单爬虫案例详解

    一.Jsoup的简介         jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据 二.我们可以利用Jsoup做什么         2.1从URL,文件或字符串中刮取并解析HTML查找和提取数据,         2.2使用DOM遍历或CSS选择器操纵HTML元素,属性和文本         2.3从而使我们输出我们想要的整洁文本 三.利用Jsoup爬

随机推荐