Closed cngddflzw closed 6 years ago
@cngddflzw 麻烦提供sofa boot 版本?
@QilongZhang 你好. sofa-boot dependencies 版本是 2.4.0 我把项目传上去了 https://github.com/cngddflzw/sofa-boot-test
我想知道这是否是因为 ark plugin 包结构变化以后, 导致 spi 机制和 spring 的扫包机制失效了, 所以我们在用 sofa-boot 的时候不能再使用那些 sofa-boot 的配置方式, 只能通过原生的 rpc api 来启动.
sofa ark 框架不会影响 spring 扫包机制,用户在开发时,不用考虑是否运行在 sofa ark 容器之上。
再回到你反馈的报错问题,我在本地测试时,测试工程主 pom.xml 添加如下依赖即可解决你反馈的报错:
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>rpc-sofa-boot-starter</artifactId>
</dependency>
这里解释下原因,rpc-sofa-boot-starter
包含了需要和应用共用一个 ClassLoader 的代码,因此应用需要除了引入 rpc ark plugin,还需要引入该 starter。 ark plugin 中包含了 rpc-core 及相关间接依赖包
@cngddflzw 在底层实际已经隔离,现在这种使用方式不太友好。在下一个迭代中, 我们会做到只需要引入一个 ark plugin 包,稍后会更新相关的 roadmap。 感谢反馈
感谢答复 :)
@cngddflzw 我已经在 #69 记录了这个使用上改进的问题,会放在0.4.0。 这个issue将会被关闭,如果有其它问题,请重新提问,感谢反馈。
Your question
Ark-Plugin 的使用是否会导致中间件的 starter 的 AutoConfiguration 等机制失效.
我想知道这是否是因为 ark plugin 包结构变化以后, 导致 spi 机制和 spring 的扫包机制失效了, 所以我们在用 sofa-boot 的时候不能再使用那些 sofa-boot 的配置方式, 只能通过原生的 rpc api 来启动.
此外我观察到 sofa-boot 项目的 ark 测试例子中也是没有使用 sofa-boot 的配置方式的, 是否是这个原因呢?
Your scenes
测试 boot-rpc 的 ark 版本
发现使用 starter 的非 ark 版本能正常运行的 rpc demo , 如果改为使用 ark 版本会无法运行, 会报一些异常, 例如:
我的 rpc 配置如下
以及, 集成测试用例
Environment
java -version
): 1.8.0_171uname -a
): windows 7