cse服务启动发现没有生成契约

举报
沉迷学习の金木研 发表于 2018/10/22 21:22:56 2018/10/22
【摘要】 cse服务启动发现没有生成契约。从createSchema开始往上追踪;RestProducerProvider-->init(),从restProducers里读取producerMetaList发现list里没有元素,找到向list里添加元素的方法,发现是通过BeanUtils加载bean类,然后读取类上的@RestSchema注解,来加载的restSchema,然后添加到list中de...

cse服务启动发现没有生成契约。

从createSchema开始往上追踪;

捕获.PNG

RestProducerProvider-->init(),从restProducers里读取producerMetaList

捕获2.PNG

发现list里没有元素,

找到向list里添加元素的方法,发现是通过BeanUtils加载bean类,然后读取类上的@RestSchema注解,来加载的restSchema,然后添加到list中

捕获4.PNG

debug发现,这里确实读到了注解,并添加到了list中。

问题:为什么list里添加了元素,取得时候却是空?

怀疑读取的list和之前加载schema的list不是同一个。

查看xml文件,发现定义加载了BeanUtils的init方法,加上起始代码main里的BeanUtils方法,因此导致init了两次。

删掉后恢复正常。


ps:

SCBEngine的doInit()方法

捕获3.PNG


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。