Closed l10178 closed 11 months ago
embed 模式下,如果biz需要使用到某个依赖: 1.要么由biz自身的bizclassloader进行加载这个依赖的类。使用方式是:biz的pom中直接引入该依赖,并且该scope是compile。检查biz包中是否打包了这个依赖 2.要么由master-biz的appclassloader加载这个依赖的类。使用方式是:biz的pom中直接引入该依赖,并且该scope是provided,声明declaredMode。master-biz中的pom引入该依赖。当bizClassLoader没有找到这个类时,会去查找 master-biz的appclassloader加载这个类。
这个类在skywalking的agent jar里,正常来讲不管是biz还是master-biz都不应该引入agent jar。 目前看这个失败的原因是Ark Container的com.alipay.sofa.ark.bootstrap.ContainerClassLoader加载失败,master-biz的classloader和普通biz的BizClassloader都没有问题。
理解了。欢迎提 PR 适配 skywalking,共同建设 sofaserverless 社区~
@l10178 这个有解决方案吗 大佬
This issue has been automatically marked as stale because it has not had recent activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, good first issue or help wanted) or other activity occurs. Thank you for your contributions.
已修复 #748
Describe the bug
一个Spring Boot + sofa-ark项目,集成skywalking失败,报错日志如下。
Spring Boot项目启动方式如下:
Spring Boot pom.xml关于sofa-ark的引入如下:
Skywalking集成插件列表:
Environment
从源代码里看sofa自定义了AgentClassloader,但是实际上还没有走到,猜测是embed模式获取URLClassPath无法获取到java agent的包。