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

举报
沉迷学习の金木研 发表于 2018/10/22 21:22:56 2018/10/22
7.9k+ 0 1
【摘要】 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

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

    全部回复

    上滑加载中

    设置昵称

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

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

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