cse服务启动发现没有生成契约
【摘要】 cse服务启动发现没有生成契约。从createSchema开始往上追踪;RestProducerProvider-->init(),从restProducers里读取producerMetaList发现list里没有元素,找到向list里添加元素的方法,发现是通过BeanUtils加载bean类,然后读取类上的@RestSchema注解,来加载的restSchema,然后添加到list中de...
cse服务启动发现没有生成契约。
从createSchema开始往上追踪;
RestProducerProvider-->init(),从restProducers里读取producerMetaList
发现list里没有元素,
找到向list里添加元素的方法,发现是通过BeanUtils加载bean类,然后读取类上的@RestSchema注解,来加载的restSchema,然后添加到list中
debug发现,这里确实读到了注解,并添加到了list中。
问题:为什么list里添加了元素,取得时候却是空?
怀疑读取的list和之前加载schema的list不是同一个。
查看xml文件,发现定义加载了BeanUtils的init方法,加上起始代码main里的BeanUtils方法,因此导致init了两次。
删掉后恢复正常。
ps:
SCBEngine的doInit()方法
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)