Closed dumbdonkey closed 5 years ago
感谢关注,下面回答你提的两个问题;
classifier 并不是必须配置的,你发的文档链接中有强调说明。示例工程和readme不一样,应该是后面误删所致,现已PR修改。
plugin发布的服务是给其他插件使用,其他插件使用注解 @ArkInject 就可以引用到其他插件发布的服务。biz 暂时不能使用plugin发布的服务,直接使用new 创建类就好了。
感谢答复。不过我依然有些困惑...
文档 https://alipay.github.io/sofastack.github.io/docs/index.html 有提到sofa-ark的使用场景。
文档说说: 只需要把 A 和版本为 0.1 的 C 包一起打包成一个 Ark 插件,然后让应用工程引入该插件依赖即可; 但是你上面说 plugin发布的服务是给其他插件使用, 那么应用工程要怎么使用这个plugin提供的服务呢? (我在示例项目 sofa-ark-sample-springboot-ark 中也没发现引用plugin服务的地方)多谢解答
@QilongZhang 如上
@Mobel123 插件发布的服务不是给biz使用的,也用不了。biz只能使用pugin导出的类。
@QilongZhang 确认下,我没理解错的话,sofa-ark-sample-springboot-ark 应该就是biz了,可是我在biz中无法new 任何plugin 导出的类 (ark-plugin 特有的打包格式,导致所有类都不可见了).
方便的话,能否提供一个示例(解决版本冲突的那种). 我尝试着编译了你的项目 https://github.com/QilongZhang/ark-plugin-demo.git 并集成到sofa-ark-sample-springboot-ark但是由于上面的原因,无法编译通过
再次感谢!
你可以把相关的依赖引入进来,scope 设置成 provided. 示例可以参考这篇文章 https://zhuanlan.zhihu.com/p/36909393
@QilongZhang 多谢,终于跑通了...
我最近也在做一个基于classloader的隔离方案
大致方案如下:
最近在几个项目中实践了下,暂时还没遇到什么坑, 您觉得这个方案怎么样? 谢谢
Your question
您好,按照文档 https://github.com/alipay/sofa-ark/tree/master/sofa-ark-samples/sample-springboot-ark#%E5%BC%95%E5%85%A5-sample-ark-plugin 的说法,应该在工程中引入
但我发现样例工程的pom https://github.com/alipay/sofa-ark/blob/master/sofa-ark-samples/sample-springboot-ark/pom.xml 中并为添加classifier.
还有一个问题
在模块https://github.com/alipay/sofa-ark/blob/master/sofa-ark-samples/sample-ark-plugin/plugin/src/main/java/com/alipay/sofa/ark/sample/facade/SamplePluginService.java 中有一个SamplePluginService, 在sample-springboot-ark模块中无法直接new,不知道要如何使用这个服务呢?
多谢解答!
Your scenes
describe your use scenes (why need this feature)
Your advice
describe the advice or solution you'd like
Environment
java -version
): 1.8uname -a
): mac