发现全是springcloudapp的名称,然后是springcloudapp(http://localhost:8080/hello/tom)工程单独调用并没有通知zipkin;
原来是因为restTemplate的获取,好用的是使用restTemplate的@autowire的方式,但是如果使用@autowired导致的异常:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'appServer': Unsatisfied dependency expressed through field 'restTemplate': No qualifying bean of type [org.springframework.web.client.RestTemplate] found for dependency [org.springframework.web.client.RestTemplate]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.client.RestTemplate] found for dependency [org.springframework.web.client.RestTemplate]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.client.RestTemplate] found for dependency [org.springframework.web.client.RestTemplate]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
原因就是这个@Autowired声明必须要有bean定义,但是当前的工程极简,根本没有spring的配置文件来配置这个字段,但是可以采用“监守自盗”的方式,就是在一个类中声明既声明了bean,也声明了@autowired;为什么要做这么做?因为@autowired声明后,spring将会管理这个对象的生命周期,就可以在这个对象创建的前后放入钩子(拦截器)对其进行处理,比如zipkin就是通过spring拦截了restTemplate的创建,使其可以拦截restTemplate的invokeUrl方法,实现日志收集。
 @Autowired
RestTemplate restTemplate; @Bean
public RestTemplate getRestTemplate() {
  return new RestTemplate();
}
 
后来又碰到了一个问题,就是gateway异常;后来才发现因为appServer的eureka没有配置(调试上面问题的时候,从别的好用的程序拷贝过来application.properites,内容直接干掉了,好用的那段配置没有配eureka);后来添加上了问题解决;
 
但是我发现一旦这种情况发生,zuul竟然就崩溃了,再也无法提供服务?
(未解)
 
dubbo的web工程没有反应了?
因为没有配置Spring,需要在WEB-INF下面添加一些spring相关的位置xml;
 
为什么调不通spring-app?
没加@RestController,所以mapping没有创建,这一点从控制台日志可以看到,没有mapping /cloud/{name};
 
网关又挂了,http://localhost:8083/app/cloud/Jim 怎么跳转不过去了?
后来重新编译一下好了,还是那个问题,网关一旦爆了一次异常,之后就挂了。
 
怎么zipkin又不好用了?调用8083zipkin什么记录也没有?
发现app和dubbo服务都没有问题;那就是网关的zipkin配置问题了,突然想到只是添加了zuul的pom文件中间了zipkin和sleth的引用,好像没有添加配置文件啊!但是后来确认不是配置文件没有添加的事情,而是因为配置文件的写法问题,zipkin的配置路径之前是base-url,改为baseUrl,zipkin可以获取zuul的日志啦!看来properties文件和yaml文件命名规则不一样,两个单词在properties是使用“-”做分割,都是小写;但是yaml文件则是驼峰命名方式。
 
刚才怎么调试maven的web工程的web都无法跑到spring,maven引用一切都没问题。
狂晕!发现在Deployment Assembly里面竟然没有引用maven的lib,导致部署的WEB-INF/lib下面毛jar包都没有。超级晕倒。据说每次maven的update,都会导致project文件发生变化,导致部署信息发生变化。

zipkin:和springcloud集成过程记录的更多相关文章

  1. cocos2dx-jsb 跨语言调用及第三方集成 - 过程记录

    1:C++中调用js方法: 问题:ios中当用户通过home键将游戏转入后台时,调用js中的暂停游戏方法: AppDelegate::applicationDidEnterBackground() 和 ...

  2. 将React Native 集成进现有OC项目中(过程记录) 、jsCodeLocation 生成方式总结

    将RN集成到现有OC项目应该是最常见的,特别是已经有OC项目的,不太可能会去专门搞个纯RN的项目.又因为RN不同版本,引用的依赖可能不尽相同,所以特别说明下,本文参考的文档是React Native ...

  3. springcloud 集成kafka问题记录,发消息报错:ERROR o.s.kafka.support.LoggingProducerListener - Exception thrown when sending a message with key='null' and payload='{-1,

    在springcloud集成kafka,发送消息时报错: 2018-08-15 16:01:34.159 [http-nio-8081-exec-1] INFO  org.apache.kafka.c ...

  4. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  5. CMMI三个过程域的流程及达到特定目标、共性目标的要求(RD需求管理过程,PI产品集成过程,TS技术解决方案)

    RD需求管理过程 通过面谈的方式获取相关干系人关于产品生命周期各阶段的需求.期望,限制条件,接口 将相关干系人的需求.期望,限制条件,接口转化成用户需求说明书 依据客户需求,确定产品或产品组件需求,形 ...

  6. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  7. 升级Windows 10 正式版过程记录与经验

    升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...

  8. 双系统Ubuntu分区扩容过程记录

    本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...

  9. CentOS 5.5 下安装Countly Web Server过程记录

    CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...

随机推荐

  1. UVaLive4992:Jungle Outpost

    传送门 半平面交. 首先,由显然成立法可以证明炸连续的几个总比分散火力效果更佳. 所以二分答案,转化为判定问题,即间隔$ans$个点的连线的半平面交是否为空. 半平面交判定即可. 时间复杂度:$O(N ...

  2. js中fn()和return fn()的区别

    参考文章:http://www.jb51.net/article/87977.htm 这文章中没有讲明白,其实只要把文章里的代码加和不加return调试一下就知道是怎么回事了. var i = 0; ...

  3. AOP Schema配置

    AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP引入封装.继承和 ...

  4. java方法和本地方法

    java中的方法有两种,java方法和本地方法. java方法:是由java语言编写,编译成字节码,存储在class文件中的.java方法是与平台无关的. 本地方法:本地方法是由其他语言(如C.C++ ...

  5. BZOJ 2005: [Noi2010]能量采集(莫比乌斯反演)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2005 题意:   思路: 首先要知道一点是,某个坐标(x,y)与(0,0)之间的整数点的个数为gcd ...

  6. PrestaShop 1.7 订单生成后下载服务器出现 505 的错误

    PrestaShop 生成订单后下载,服务器上有 505 的错误. 经查看应该是服务器上的错误: Allowed memory size of 134217728 bytes exhausted (t ...

  7. Python - Learn Note (2)

    Python注释 Python的注释以#开头,后面的文字直到行尾都算注释 Python基本数据类型 整数.浮点数(浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置 ...

  8. css之grid layout代码解释

    .wrapper { display: grid; grid-template-columns: repeat(3, 1fr);/*grid-template-columns CSS属性定义了网格列的 ...

  9. String类的concat()方法

    String类的concat()方法: public class MyClass { public static void main(String[] args) { String str1=&quo ...

  10. C++设计模式之适配器模式

    对象适配器有以下特点: 有的时候,你会发现,不是很容易去构造一个Adaptee类型的对象: 当Adaptee中添加新的抽象方法时,Adapter类不需要做任何调整,也能正确的进行动作: 可以使用多肽的 ...