发现全是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文件发生变化,导致部署信息发生变化。

最新文章

  1. G1 垃圾收集器
  2. UIPickerView的使用(三)
  3. PYTHON 函数的普通参数
  4. 《sqoop实现hdfs中的数据导出至mysql数据库》
  5. htmlentities,html_entity_decode,addslashes
  6. HDU2955 Robberies[01背包]
  7. docker 命令汇总
  8. Java中多线程使用匿名内部类的方式进行创建3种方式
  9. maven安装配置(myeclipse)(一)
  10. zz存储系统中缓存的三种类型
  11. [Ext JS 4] 实战之Grid, Tree Gird编辑Cell
  12. java的GUI编程
  13. Greedy Change
  14. Winfrom 简单的安卓手机屏幕获取和安卓简单操作
  15. 织梦CMS搭建网站必做的服务器相关安全设置
  16. bzoj 4842 [Neerc2016]Delight for a Cat 最小费用最大流,线性规划
  17. JAVA核心技术I---JAVA基础知识(集合set)
  18. 通过网址request到response经历的过程
  19. python3与python2的区别(目前遇到的)
  20. python 将类属性转为字典

热门文章

  1. 微信小程序:页面配置 page.json
  2. POJ 2699 The Maximum Number of Strong Kings (最大流+枚举)
  3. 还是 js 替代 vw vh 了
  4. MAC终端安装grunt--javascript世界得构建工具
  5. 用JavaScript做一个小小设计
  6. m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置
  7. Learn Rails5.2 Bundler ; Forms
  8. myeclipse6.5使用tomcat7报java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory错
  9. 微信小程序scroll-view横向滚动
  10. vue.js单个slot