Closed crazyStar00 closed 2 years ago
@crazyStar00 rpc-config 支持两种路径配置:sofa-rpc/rpc-config.json
和 META-INF/sofa-rpc/rpc-config.json
,每个 jar 里的这个文件都可以被读到,并且根据配置的 order 来决定覆盖关系,你说的场景是把 RPC 的 jar shaded 掉么?
我遇到过覆盖的情况, 打包的时候, 有些扩展配置文件没有了. 原因是打包方式有问题, 不同的 META-INF/service/sofa-rpc/ 文件被打包到同一个地址, 导致同名文件只会保留一个.
两个路径分开可以缓解这个问题, 但是不能从根本上解决. 因为实际开发中, 有不同的用户会使用扩展点,这些不同用户的扩展点也会相互覆盖.
为了帮助更多同学, @crazyStar00 是否原因分享下你错误的打包配置 以及 修复后的打包配置呢?
处理前:
处理后:
处理办法:
之前使用过dubbo: 它将框架内部的扩展点放在:META-INF/dubbo/internal下,用户自定义的扩展点放在META-INF/dubbo下,这样就避免了该问题,咱们是不是可以采用类似的方式呢?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
框架自带的扩展点目录和用户自定义的扩展点目录都为:META-INF/service/sofa-rpc/,在打fat包时容易出现覆盖的问题,虽然,可以修改打包策略,避免该问题,但如果两个路径分开,可能会更好