Giter VIP home page Giter VIP logo

apolloconfig / apollo Goto Github PK

View Code? Open in Web Editor NEW
28.8K 1.3K 10.2K 52.44 MB

Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.

Home Page: https://www.apolloconfig.com

License: Apache License 2.0

Java 71.91% JavaScript 11.52% CSS 0.65% HTML 14.36% Shell 1.30% Batchfile 0.07% Dockerfile 0.19%
configuration-management spring-boot config-management microservices spring-cloud distributed-configuration

apollo's Introduction

apollo-logo

English | 中文

Apollo - A reliable configuration management system

Build Status GitHub Release Maven Central Repo codecov.io License

Apollo is a reliable configuration management system. It can centrally manage the configurations of different applications and different clusters. It is suitable for microservice configuration management scenarios.

The server side is developed based on Spring Boot and Spring Cloud, which can simply run without the need to install additional application containers such as Tomcat.

The Java SDK does not rely on any framework and can run in all Java runtime environments. It also has good support for Spring/Spring Boot environments.

The .Net SDK does not rely on any framework and can run in all .Net runtime environments.

For more details of the product introduction, please refer Introduction to Apollo Configuration Center.

For local demo purpose, please refer Quick Start.

Demo Environment:

Screenshots

Screenshot

Features

  • Unified management of the configurations of different environments and different clusters

    • Apollo provides a unified interface to centrally manage the configurations of different environments, different clusters, and different namespaces
    • The same codebase could have different configurations when deployed in different clusters
    • With the namespace concept, it is easy to support multiple applications to share the same configurations, while also allowing them to customize the configurations
    • Multiple languages is provided in user interface(currently Chinese and English)
  • Configuration changes takes effect in real time (hot release)

    • After the user modified the configuration and released it in Apollo, the sdk will receive the latest configurations in real time (1 second) and notify the application
  • Release version management

    • Every configuration releases are versioned, which is friendly to support configuration rollback
  • Grayscale release

    • Support grayscale configuration release, for example, after clicking release, it will only take effect for some application instances. After a period of observation, we could push the configurations to all application instances if there is no problem
  • Authorization management, release approval and operation audit

    • Great authorization mechanism is designed for applications and configurations management, and the management of configurations is divided into two operations: editing and publishing, therefore greatly reducing human errors
    • All operations have audit logs for easy tracking of problems
  • Client side configuration information monitoring

    • It's very easy to see which instances are using the configurations and what versions they are using
  • Rich SDKs available

    • Provides native sdks of Java and .Net to facilitate application integration
    • Support Spring Placeholder, Annotation and Spring Boot ConfigurationProperties for easy application use (requires Spring 3.1.1+)
    • Http APIs are provided, so non-Java and .Net applications can integrate conveniently
    • Rich third party sdks are also available, e.g. Golang, Python, NodeJS, PHP, C, etc
  • Open platform API

    • Apollo itself provides a unified configuration management interface, which supports features such as multi-environment, multi-data center configuration management, permissions, and process governance
    • However, for the sake of versatility, Apollo will not put too many restrictions on the modification of the configuration, as long as it conforms to the basic format, it can be saved.
    • In our research, we found that for some users, their configurations may have more complicated formats, such as xml, json, and the format needs to be verified
    • There are also some users such as DAL, which not only have a specific format, but also need to verify the entered value before saving, such as checking whether the database, username and password match
    • For this type of application, Apollo allows the application to modify and release configurations through open APIs, which has great authorization and permission control mechanism built in
  • Simple deployment

    • As an infrastructure service, the configuration center has very high availability requirements, which forces Apollo to rely on external dependencies as little as possible
    • Currently, the only external dependency is MySQL, so the deployment is very simple. Apollo can run as long as Java and MySQL are installed
    • Apollo also provides a packaging script, which can generate all required installation packages with just one click, and supports customization of runtime parameters

Usage

SDK

Design

Development

Deployment

Release Notes

FAQ

Presentation

Publication

Community

License

The project is licensed under the Apache 2 license.

Known Users

Sorted by registration order,users are welcome to register in #451 (reference purpose only for the community)

携程 青石证券 沙绿 航旅纵横 58转转
蜂助手 海南航空 CVTE 明博教育 麻袋理财
美行科技 首展科技 易微行 人才加 凯京集团
乐刻运动 大疆 快看漫画 我来贷 虚实软件
网易严选 视觉** 资产360 亿咖通 5173
沪江 网易云基础服务 现金巴士 锤子科技 头等仓
吉祥航空 263移动通信 投投金融 每天健康 麦芽金服
蜂向科技 即科金融 贝壳网 有赞 云集汇通
犀牛瀚海科技 农信互联 蘑菇租房 狐狸金服 漫道集团
怪兽充电 南瓜租房 石投金融 土巴兔 平安银行
新新贷 **华戎科技集团 涂鸦智能 立创商城 乐赚金服
开心汽车 乐赚金服 普元信息 医帮管家 付啦信用卡管家
悠哉网 梧桐诚选 拍拍贷 信用飞 丁香园
国槐科技 亲宝宝 华为视频直播 微播易 欧飞
迷说 一下科技 DaoCloud 汽摩交易所 好未来教育集团
猎户星空 卓健科技 银江股份 途虎养车 河姆渡
新网银行 中旅安信云贷 美柚 震坤行 万谷盛世
铂涛旅行 乐心 亿投传媒 股先生 财学堂
4399 汽车之家 面包财经 虎扑 搜狐汽车
量富征信 卖好车 中移物联网 易车网 一药网
小影 彩贝壳 YEELIGHT 积目 极致医疗
金汇金融 久柏易游 小麦铺 搜款网 米庄理财
贝吉塔网络科技 微盟 网易卡搭 股书 聚贸
广联达bimface 环球易购 浙江执御 二维火 上品
浪潮集团 纳里健康 橙红科技 龙腾出行 荔枝
汇通达 云融金科 天生掌柜 容联光辉 云天励飞
嘉云数据 中泰证券网络金融部 网易易盾 享物说 申通
金和网络 二三四五 恒天财富 沐雪微信 温州医科大学附属眼视光医院
联通支付 杉数科技 分利宝 核桃编程 小红书
幸福西饼 跨越速运 OYO 叮咚买菜 智道网联
雪球 车通云 哒哒英语 小E微店 达令家
人力窝 嘉美在线 极易付 智慧开源 车仕库
太美医疗科技 亿联百汇 舟谱数据 芙蓉兴盛 野兽派
凯叔讲故事 好大夫在线 云幂信息技术 兑吧 九机网
随手科技 万谷盛世 云账房 浙江远图互联 青客公寓
东方财富 极客修 美市科技 中通快递 易流科技
实习僧 达令家 寺库 连连支付 众安保险
360金融 中航服商旅 贝壳 Yeahmobi易点天下 北京登云美业网络科技有限公司
金和网络 中移(杭州)信息技术有限公司 北森 合肥维天运通 北京蜜步科技有限公司
术康 富力集团 天府行 八商山 中原地产
智科云达 中原730 百果园 波罗蜜 Xignite
杭州有云科技有限公司 成都书声科技有限公司 斯维登集团 广东快乐种子科技有限公司 上海盈翼文化传播有限公司
上海尚诚消费金融股份有限公司 自如网 京东 兔展智能 竹贝
iMile(中东) 哈罗出行 智联招聘 阿卡索 妙知旅
程多多 上汽通用五菱 乐言科技 樊登读书 找一找教程网
中油碧辟石油有限公司 四川商旅无忧科技服务有限公司 懿鸢网络科技(上海)有限公司 稿定科技 搵樓 - 利嘉閣
南京领行科技股份有限公司 北京希瑞亚斯科技有限公司 印彩虹印刷公司 Million Tech 果果科技
昆明航空 我爱我家 国金证券 不亦乐乎 惠农网
成都道壳 澳优乳业 河南有态度信息科技有限公司 智阳第一人力 上海保险交易所
万顺叫车 收钱吧 宝尊电商 喜百年供应链 南京观为智慧软件科技有限公司
在途商旅 哗啦啦 优信二手车 每刻科技 杭州蛮牛
翼支付 魔筷科技 畅唐网络 准时达 早道网校
万店掌 推文科技 Lemonbox 保利票务 芯翼科技
浙商银行 易企银科技 上海云盾 苏州盖雅信息技术有限公司 爱库存
极豆车联网 伴鱼少儿英语 锐达科技 新东方在线 金康高科
soul 驿氪 慧聪 中塑在线 甄云科技
追溯科技 玩吧 广州卡桑信息技术有限公司 水滴 酷我音乐
小米 今典 签宝科技 广州趣米网络科技有限公司 More...

Awards

The most popular Chinese open source software in 2018

Stargazers over time

Stargazers over time

apollo's People

Contributors

abnerhuang2 avatar accelerator96 avatar anilople avatar blackbear2003 avatar calebzyc avatar codepiano avatar dependabot[bot] avatar diegokrupitza avatar falser101 avatar jaredtan95 avatar jiangcaijun avatar kezhenxu94 avatar klboke avatar lepdou avatar lonre avatar mghio avatar nisiyong avatar nobodyiam avatar shoothzj avatar vdiskg avatar weiguang-zz avatar weiyichao avatar willardhu avatar wilsonwu avatar wiston1988 avatar wkcaeser avatar yiming187 avatar yyfmichaelyan avatar zcy1010 avatar zouyx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apollo's Issues

openapi 支持集群的创建和删除?

请问下是否有这方面的考虑?代码大体看了一下,支持起来也不算复杂。openapi 里面新增一个 controller,还有赋权的 /open/manage.html 新增一个表单以及对应的 controller 就行了。如果有这方面考虑的话可以我这边开发好提一个 PR 过来

关于Portal如何接入SSO的问题

如题。我之前没接入过SSO,不太清楚如何接入。能提供些Portal接入的demo吗?我看了com.ctrip.framework.apollo.portal.spi.包下的类,没有发现登录的接口。奇怪。portal没有登录功能怎么控制不同用户的权限呢?

apollo在windows上无法运行?

我按照Quick Start操作,但是在win7上运行build.sh后报错
./service/apollo-service.jar: line 168: C:\Program: No such file or directory

请问这个情况如何解决?

请教,Apollo如何支持多环境?

在ApolloPortalDB的ServerConfig表修改了apollo.portal.envs,增加了UAT,PRO 两种环境,在Portal环境列表中出现DEV,UAT,PRO三种环境,但在任意一种环境下添加变量,所有都会添加该变量而且值也一模一样,这样如何能在不同的环境下使用不同的配置呢?

apollo在windows上无法运行?

我按照Quick Start操作,但是在win7上运行build.sh后报错
./service/apollo-service.jar: line 168: C:\Program: No such file or directory

请问这个情况如何解决?

[文档] 小建议

喜欢 apollo 清秀的界面,赞一个!顺带着提个小建议,贵司的各个开源项目的文档(例如还有 x-pipe),建议对于英文数字特殊字符等,前后各加一个英文半角空格,从而和中文明显地分隔开,这样阅读体验会更好。

Centos下执行编译错误

[root@localhost apollo]# ./scripts/build.sh
==== starting to build config-service and admin-service ====
[INFO] Scanning for projects...
[ERROR] [ERROR] Could not find the selected project in the reactor: apollo-configservice @
[ERROR] Could not find the selected project in the reactor: apollo-configservice -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException
==== building config-service and admin-service finished ====
==== starting to build portal ====
[INFO] Scanning for projects...
[ERROR] [ERROR] Could not find the selected project in the reactor: apollo-portal @
[ERROR] Could not find the selected project in the reactor: apollo-portal -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException
==== building portal finished ====
==== starting to build client ====
[INFO] Scanning for projects...
[ERROR] [ERROR] Could not find the selected project in the reactor: apollo-client @
[ERROR] Could not find the selected project in the reactor: apollo-client -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException
==== building client finished ====

你好,这个错误是由什么导致的呢,我觉得应该还是缺少依赖包的问题吧,希望能帮助解决下,谢谢!

无法正常编译

1、在windows 7、jdk8下面执行mvn package的过程中,有很多问题,不能直接编译
因为找不到下面这块,无法编译,需要注释掉:

com.ctrip.framework
framework-parent
1.3.0

2、找不到framework-foundation-1.5.0.jar无法编译,需要手工从apollo-all-in-one.jar里面解压后放到本地;

3、不支持java 7,需要在pom.xml中添加下面这块:

org.apache.maven.plugins
maven-compiler-plugin
3.3

1.7
1.7
eclipse



org.codehaus.plexus
plexus-compiler-eclipse
2.2


4、无法编译apollo-client,注释掉后继续编译

5、报文件夹找不到apollo-master\apollo-core\target\generated-sources\annotations does not exist

请问对工程该怎么才能方便编译?

mysql 5.5.53导入sql报错

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
ERROR 1146 (42S02): Table 'ApolloPortalDB.serverconfig' doesn't exist
ERROR 1146 (42S02): Table 'ApolloPortalDB.app' doesn't exist
ERROR 1146 (42S02): Table 'ApolloPortalDB.appnamespace' doesn't exist
ERROR 1146 (42S02): Table 'ApolloPortalDB.permission' doesn't exist
ERROR 1146 (42S02): Table 'ApolloPortalDB.role' doesn't exist
ERROR 1146 (42S02): Table 'ApolloPortalDB.rolepermission' doesn't exist
ERROR 1146 (42S02): Table 'ApolloPortalDB.userrole' doesn't exist

建议加上value的格式验证

有些业务场景的配置可能是多层次的,需要配置json或xml格式的,数据量也比较大,通常会交给产品或业务去配置,如果能加上json或xml格式的编辑器或者校验,就能很大程度的方便使用和减少出错率。

parent pom 下载不到

[FATAL] Non-resolvable parent POM for com.ctrip.framework.apollo:apollo:0.6.0: Failure to find com.ctrip.framework:framework-parent:pom:1.3.0

client在启动时报java.net.UnknownHostException: cat.ctripcorp.com

[framework-foundation] App ID is set to 100002 by app.id property in properties InputStream.
[framework-foundation] Loading /opt/settings/server.properties
[framework-foundation] JVM system property 'env' is blank. Will try to get environment by OS environment variable 'ENV'.
[framework-foundation] OS environment variable 'ENV' is blank. Will try to get environment by property 'env' from the properties InputStream.
[framework-foundation] Environment is set to [PRO] by property 'env'/'environment' in server.properties.
[framework-foundation] Data Center is not available from server.properties.
[framework-foundation] Data Center is not available by OS environment variable ci_located_code.
[framework-foundation] Data Center is not available by OS environment variable CI_located_code. It is set to null.
[framework-foundation] http port is not available from JVM system property 'port.http.server
[framework-foundation] http port is not available from OS environment variable 'SERVER_HTTP_PORT. Default http port [0] is used.
[framework-foundation] /opt/settings/deploy.properties does not exist or is not readable.
[framework-foundation] C:/opt/settings/deploy.properties does not exist or is not readable.
/data/appdatas/cat does not exist. Will try to load config from /opt/app/cat now.
Logger file /opt/logs/cat/cat_20161028.log
/opt/app/cat/client.xml does not exist.
client.xml is not available. Will try to get domain by framework foundation.
App ID is set to [100002] by framework foundation.
client.xml is not available. Will try to get env by framework-foundation, and then decide CAT server address.
CAT server address is set to [cat.ctripcorp.com] by environment pro
CAT client message queue size: 1000
CAT client now tries to visit router service. http://cat.ctripcorp.com:80/cat/s/router?domain=100002&ip=172.16.1.18&op=json
java.net.UnknownHostException: cat.ctripcorp.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:69)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:45)
at com.dianping.cat.message.io.ChannelManager.loadServerConfig(ChannelManager.java:297)
at com.dianping.cat.message.io.ChannelManager.(ChannelManager.java:87)
at com.dianping.cat.message.io.TcpSocketSender.initialize(TcpSocketSender.java:104)
at com.dianping.cat.message.io.DefaultTransportManager.initialize(DefaultTransportManager.java:57)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:393)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder$RequirementRecipe.internalCreate(XBeanComponentBuilder.java:404)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.RecipeHelper.convert(RecipeHelper.java:167)
at org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:515)
at org.apache.xbean.recipe.ObjectRecipe.setProperties(ObjectRecipe.java:383)
at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:298)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:161)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:125)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.dianping.cat.Cat.setContainer(Cat.java:596)
at com.dianping.cat.CatClientModule.execute(CatClientModule.java:32)
at org.unidal.initialization.AbstractModule.initialize(AbstractModule.java:10)
at org.unidal.initialization.DefaultModuleInitializer.executeModule(DefaultModuleInitializer.java:59)
at org.unidal.initialization.DefaultModuleInitializer.execute(DefaultModuleInitializer.java:42)
at com.dianping.cat.Cat.initialize(Cat.java:183)
at com.dianping.cat.Cat.initialize(Cat.java:168)
at com.dianping.cat.Cat.checkAndInitialize(Cat.java:66)
at com.dianping.cat.Cat.getProducer(Cat.java:155)
at com.dianping.cat.Cat.newTransaction(Cat.java:556)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.updateConfigServices(ConfigServiceLocator.java:112)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.tryUpdateConfigServices(ConfigServiceLocator.java:83)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.initialize(ConfigServiceLocator.java:64)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.ctrip.framework.apollo.internals.RemoteConfigRepository.(RemoteConfigRepository.java:78)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createRemoteConfigRepository(DefaultConfigFactory.java:59)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createLocalConfigRepository(DefaultConfigFactory.java:55)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.create(DefaultConfigFactory.java:31)
at com.ctrip.framework.apollo.internals.DefaultConfigManager.getConfig(DefaultConfigManager.java:38)
at com.ctrip.framework.apollo.ConfigService.getConfig(ConfigService.java:42)
at com.ctrip.framework.apollo.ConfigService.getAppConfig(ConfigService.java:33)
at com.uxin.feerate.domain.manager.impl.CallManagerImplTest.testConf(CallManagerImplTest.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
java.net.UnknownHostException: cat.ctripcorp.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:69)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:45)
at com.dianping.cat.message.io.ChannelManager.loadServerConfig(ChannelManager.java:297)
at com.dianping.cat.message.io.ChannelManager.(ChannelManager.java:87)
at com.dianping.cat.message.io.TcpSocketSender.initialize(TcpSocketSender.java:104)
at com.dianping.cat.message.io.DefaultTransportManager.initialize(DefaultTransportManager.java:57)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:393)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder$RequirementRecipe.internalCreate(XBeanComponentBuilder.java:404)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.RecipeHelper.convert(RecipeHelper.java:167)
at org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:515)
at org.apache.xbean.recipe.ObjectRecipe.setProperties(ObjectRecipe.java:383)
at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:298)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:161)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:125)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.dianping.cat.Cat.setContainer(Cat.java:596)
at com.dianping.cat.CatClientModule.execute(CatClientModule.java:32)
at org.unidal.initialization.AbstractModule.initialize(AbstractModule.java:10)
at org.unidal.initialization.DefaultModuleInitializer.executeModule(DefaultModuleInitializer.java:59)
at org.unidal.initialization.DefaultModuleInitializer.execute(DefaultModuleInitializer.java:42)
at com.dianping.cat.Cat.initialize(Cat.java:183)
at com.dianping.cat.Cat.initialize(Cat.java:168)
at com.dianping.cat.Cat.checkAndInitialize(Cat.java:66)
at com.dianping.cat.Cat.getProducer(Cat.java:155)
at com.dianping.cat.Cat.newTransaction(Cat.java:556)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.updateConfigServices(ConfigServiceLocator.java:112)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.tryUpdateConfigServices(ConfigServiceLocator.java:83)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.initialize(ConfigServiceLocator.java:64)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.ctrip.framework.apollo.internals.RemoteConfigRepository.(RemoteConfigRepository.java:78)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createRemoteConfigRepository(DefaultConfigFactory.java:59)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createLocalConfigRepository(DefaultConfigFactory.java:55)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.create(DefaultConfigFactory.java:31)
at com.ctrip.framework.apollo.internals.DefaultConfigManager.getConfig(DefaultConfigManager.java:38)
at com.ctrip.framework.apollo.ConfigService.getConfig(ConfigService.java:42)
at com.ctrip.framework.apollo.ConfigService.getAppConfig(ConfigService.java:33)
at com.uxin.feerate.domain.manager.impl.CallManagerImplTest.testConf(CallManagerImplTest.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
java.lang.NullPointerException
at com.dianping.cat.message.io.ChannelManager.initChannel(ChannelManager.java:222)
at com.dianping.cat.message.io.ChannelManager.(ChannelManager.java:100)
at com.dianping.cat.message.io.TcpSocketSender.initialize(TcpSocketSender.java:104)
at com.dianping.cat.message.io.DefaultTransportManager.initialize(DefaultTransportManager.java:57)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:393)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder$RequirementRecipe.internalCreate(XBeanComponentBuilder.java:404)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.RecipeHelper.convert(RecipeHelper.java:167)
at org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:515)
at org.apache.xbean.recipe.ObjectRecipe.setProperties(ObjectRecipe.java:383)
at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:298)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:161)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:125)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.dianping.cat.Cat.setContainer(Cat.java:596)
at com.dianping.cat.CatClientModule.execute(CatClientModule.java:32)
at org.unidal.initialization.AbstractModule.initialize(AbstractModule.java:10)
at org.unidal.initialization.DefaultModuleInitializer.executeModule(DefaultModuleInitializer.java:59)
at org.unidal.initialization.DefaultModuleInitializer.execute(DefaultModuleInitializer.java:42)
at com.dianping.cat.Cat.initialize(Cat.java:183)
at com.dianping.cat.Cat.initialize(Cat.java:168)
at com.dianping.cat.Cat.checkAndInitialize(Cat.java:66)
at com.dianping.cat.Cat.getProducer(Cat.java:155)
at com.dianping.cat.Cat.newTransaction(Cat.java:556)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.updateConfigServices(ConfigServiceLocator.java:112)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.tryUpdateConfigServices(ConfigServiceLocator.java:83)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.initialize(ConfigServiceLocator.java:64)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.ctrip.framework.apollo.internals.RemoteConfigRepository.(RemoteConfigRepository.java:78)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createRemoteConfigRepository(DefaultConfigFactory.java:59)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createLocalConfigRepository(DefaultConfigFactory.java:55)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.create(DefaultConfigFactory.java:31)
at com.ctrip.framework.apollo.internals.DefaultConfigManager.getConfig(DefaultConfigManager.java:38)
at com.ctrip.framework.apollo.ConfigService.getConfig(ConfigService.java:42)
at com.ctrip.framework.apollo.ConfigService.getAppConfig(ConfigService.java:33)
at com.uxin.feerate.domain.manager.impl.CallManagerImplTest.testConf(CallManagerImplTest.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
java.lang.NullPointerException
at com.dianping.cat.message.io.ChannelManager.initChannel(ChannelManager.java:222)
at com.dianping.cat.message.io.ChannelManager.(ChannelManager.java:100)
at com.dianping.cat.message.io.TcpSocketSender.initialize(TcpSocketSender.java:104)
at com.dianping.cat.message.io.DefaultTransportManager.initialize(DefaultTransportManager.java:57)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:393)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder$RequirementRecipe.internalCreate(XBeanComponentBuilder.java:404)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.RecipeHelper.convert(RecipeHelper.java:167)
at org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:515)
at org.apache.xbean.recipe.ObjectRecipe.setProperties(ObjectRecipe.java:383)
at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:298)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.createComponentInstance(XBeanComponentBuilder.java:161)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:125)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.dianping.cat.Cat.setContainer(Cat.java:596)
at com.dianping.cat.CatClientModule.execute(CatClientModule.java:32)
at org.unidal.initialization.AbstractModule.initialize(AbstractModule.java:10)
at org.unidal.initialization.DefaultModuleInitializer.executeModule(DefaultModuleInitializer.java:59)
at org.unidal.initialization.DefaultModuleInitializer.execute(DefaultModuleInitializer.java:42)
at com.dianping.cat.Cat.initialize(Cat.java:183)
at com.dianping.cat.Cat.initialize(Cat.java:168)
at com.dianping.cat.Cat.checkAndInitialize(Cat.java:66)
at com.dianping.cat.Cat.getProducer(Cat.java:155)
at com.dianping.cat.Cat.newTransaction(Cat.java:556)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.updateConfigServices(ConfigServiceLocator.java:112)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.tryUpdateConfigServices(ConfigServiceLocator.java:83)
at com.ctrip.framework.apollo.internals.ConfigServiceLocator.initialize(ConfigServiceLocator.java:64)
at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:96)
at org.codehaus.plexus.component.manager.AbstractComponentManager.start(AbstractComponentManager.java:167)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.startComponentLifecycle(XBeanComponentBuilder.java:285)
at org.codehaus.plexus.component.builder.XBeanComponentBuilder.build(XBeanComponentBuilder.java:131)
at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:181)
at org.codehaus.plexus.component.manager.SingletonComponentManager.getComponent(SingletonComponentManager.java:67)
at org.codehaus.plexus.DefaultComponentRegistry.getComponent(DefaultComponentRegistry.java:358)
at org.codehaus.plexus.DefaultComponentRegistry.lookup(DefaultComponentRegistry.java:178)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:383)
at com.ctrip.framework.apollo.internals.RemoteConfigRepository.(RemoteConfigRepository.java:78)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createRemoteConfigRepository(DefaultConfigFactory.java:59)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.createLocalConfigRepository(DefaultConfigFactory.java:55)
at com.ctrip.framework.apollo.spi.DefaultConfigFactory.create(DefaultConfigFactory.java:31)
at com.ctrip.framework.apollo.internals.DefaultConfigManager.getConfig(DefaultConfigManager.java:38)
at com.ctrip.framework.apollo.ConfigService.getConfig(ConfigService.java:42)
at com.ctrip.framework.apollo.ConfigService.getAppConfig(ConfigService.java:33)
at com.uxin.feerate.domain.manager.impl.CallManagerImplTest.testConf(CallManagerImplTest.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
CAT client now tries to visit router service. http://cat.ctripcorp.com:80/cat/s/router?domain=100002&ip=172.16.1.18&op=json
java.net.UnknownHostException: cat.ctripcorp.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:69)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:45)
at com.dianping.cat.message.io.ChannelManager.loadServerConfig(ChannelManager.java:297)
at com.dianping.cat.message.io.ChannelManager.routerConfigChanged(ChannelManager.java:364)
at com.dianping.cat.message.io.ChannelManager.checkServerChanged(ChannelManager.java:122)
at com.dianping.cat.message.io.ChannelManager.run(ChannelManager.java:378)
at java.lang.Thread.run(Thread.java:745)
at org.unidal.helper.Threads$RunnableThread.run(Threads.java:294)
java.net.UnknownHostException: cat.ctripcorp.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:69)
at org.unidal.helper.Urls$UrlIO.openStream(Urls.java:45)
at com.dianping.cat.message.io.ChannelManager.loadServerConfig(ChannelManager.java:297)
at com.dianping.cat.message.io.ChannelManager.routerConfigChanged(ChannelManager.java:364)
at com.dianping.cat.message.io.ChannelManager.checkServerChanged(ChannelManager.java:122)
at com.dianping.cat.message.io.ChannelManager.run(ChannelManager.java:378)
at java.lang.Thread.run(Thread.java:745)
at org.unidal.helper.Threads$RunnableThread.run(Threads.java:294)

start failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [jar:file:/root/apollo-build-scripts/service/apollo-service.jar!/lib/apollo-common-0.2.0-SNAPSHOT.jar!/com/ctrip/framework/apollo/common/datasource/TitanEntityManager.class]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'fat_titan_url' in string value "${fat_titan_url}"

Portal HealthChecker 健康检查一直报错

下面是具体的错误异常:
2017-03-31 12:20:26.513 ERROR 54621 --- [HealthChecker-1] c.c.f.a.portal.component.PortalSettings : Env health check failed, maybe because of meta server down or configure wrong meta server address. env: DEV, meta server address: http://localhost:8080/

org.springframework.web.client.HttpClientErrorException: 405 Method Not Allowed
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:264)
at com.ctrip.framework.apollo.portal.component.RetryableRestTemplate.doExecute(RetryableRestTemplate.java:190)
at com.ctrip.framework.apollo.portal.component.RetryableRestTemplate.execute(RetryableRestTemplate.java:95)
at com.ctrip.framework.apollo.portal.component.RetryableRestTemplate.get(RetryableRestTemplate.java:56)
at com.ctrip.framework.apollo.portal.api.AdminServiceAPI$HealthAPI.health(AdminServiceAPI.java:47)
at com.ctrip.framework.apollo.portal.component.PortalSettings$HealthCheckTask.isUp(PortalSettings.java:127)
at com.ctrip.framework.apollo.portal.component.PortalSettings$HealthCheckTask.run(PortalSettings.java:103)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)


我是在个人电脑上跑得,ConfigServer 和 AdminServer 都是按照默认配置端口起来的,起来后使用了本机的链接外网的ip。当启动 Portal之后,它会去请求 外网ip:8090/health。 但是一直收到 405 Method Not Allowed!

请教env加载的优先级问题

env加载的优先级是怎样的
我看日志是
[framework-foundation] /opt/settings/server.properties does not exist or is not readable.
[framework-foundation] C:/opt/settings/server.properties does not exist or is not readable.
[framework-foundation] JVM system property 'env' is blank. Will try to get environment by OS environment variable 'ENV'.
[framework-foundation] Environment is set to [fat] by OS env variable 'ENV'.
是否是先从server.properties->jvm->environment variable
这样的顺序?

apollo项目编译不了 如像依赖了内部一些库?

image

<parent>
    <groupId>com.dianping.cat</groupId>
    <artifactId>parent</artifactId>
    <version>1.4.4</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cat-client</artifactId>
<name>cat-client</name>
<packaging>jar</packaging>
<!-- ctrip yj.huang Explicitly specify a different version for cat client, which is flexible to change for nexus deployment -->
<version>1.5.0</version>
<dependencies>
    <!-- ctrip yj.huang -->
    <dependency>
        <groupId>com.ctrip.framework</groupId>
        <artifactId>framework-foundation</artifactId>
        <version>1.1.4</version>
    </dependency>

请问下数据中心 cluster 是指什么?

“首先查找运行时cluster的配置(通过apollo.cluster指定),如果没有找到,则查找数据中心cluster的配置
,如果还是没有找到,则返回默认cluster的配置” 这里的数据中心cluster 是指什么?

一套配置中心服务端配置3个环境的配置,是否支持?如何操作?自测貌似不行

操作步骤:
1、数据库配置了apollo.portal.envs=dev,fat,uat
2、打包时,scripts/build.sh是这样的:

# meta server url
dev_meta=http://localhost:8080
fat_meta=http://localhost:8080
uat_meta=http://localhost:8080
pro_meta=http://localhost:8080

3、上portal后台,依次点击dev/fat/uat三个环境,使用文本模式创建key一样的三套配置,并发布
4、自己应用集成客户端,并用此参数启动-Denv=dev -Ddev_meta=http://10.20.100.79:8080。
5、问题来了:当变化env为其他两个环境名启动时,发现每次获取的配置都是最后一次发布的配置。不能根据环境来获取配置。
请问如何解决?是否只能一套服务端只能使用一个环境?
重点:每套环境的配置项key名都是一样的,只是内容不一样。
多谢!

可能发布脏数据

进行如下操作,是否会发布脏数据?如何避免?
1:user1将key1修改为value1;
2:user2将key1修改为value2;
3:user1发布key1;

发布的key1数据为value2,而非value1,并且在发布时user1并不知道是发布的value2;

String.format error

/root/apollo/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/listener/AppInfoChangedListener.java:39: 错误: [FormatString] extra format arguments: used 0, provided 2
Tracer.logError(String.format("Update app's info failed. Env = {}, AppId = {}", env, appId), e);
^
(see http://errorprone.info/bugpattern/FormatString)

mysql db表名大小写

默认的quickstart里边的
在区分大小写的mysql下 表名全都没转换成小写的

请教关于热更新配置的问题

spring应用,已经集成客户端,并且加入了更新监听器,如果配置有更新,那么怎么更新spring初始化的bean呢?比如数据库连接池,某些service的某些属性。

首页乱码

使用apollo-build-scripts项目构建启动。

image

mysql 依赖降级

降级到 mysql 5.5.40 可行么, on update 我们是不是可以绕过去,我可以做这部分的支持工作

打包的问题。如何把apollo-env.properties配置文件从core的jar包移到外面?

操作的目的是一个porta配置多套环境的配置。
按照分布式部署指南,我修改scripts/build.sh的
dev_meta=http://dev-config:8080 fat_meta=http://fat-config:8080 uat_meta=http://uat-config:8080 pro_meta=http://pro-config:8080
最后发现这几个参数只被打进apollo-portal-0.6.2-dev.zip/apollo-portal-0.6.2.jar/lib/apollo-core-0.6.2.jar/apollo-env.properties。
我想在外部设置这几个参数的值,应该怎么操作呢?
目前尝试过的办法有以下几种,都无效。
把最终的apollo-env.properties放在
apollo-portal-8070-dev/config/apollo-env.properties
apollo-portal-8070-dev/apollo-env.properties
把配置项放到apollo-portal-8070-dev/config/application-dev.properties
都无效。
谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.