sofastack / sofa-jarslink

Jarslink is a sofa ark plugin used to manage multi-application deployment
Apache License 2.0
3.04k stars 706 forks source link

增加了一个Spring boot 案例 #81

Closed aalansehaiyang closed 6 years ago

aalansehaiyang commented 6 years ago

定义两个子模块:module-1、module-2

刻意定义两个子模块的执行类的包名、类名、方法名都一样,通过jarslink框架来解决类冲突问题,并都能加载到 JVM 中并生效。

https://github.com/aalansehaiyang/jarslink/tree/master/spring-boot-module-demo

917415089 commented 6 years ago

请教个问题,这个module-1、module-2 两个模块 是否支持 直接 写@RestController,就是 module-1、module-2 里面直接写controller

aalansehaiyang commented 6 years ago

@917415089 我没有试过,不过理论上应该是可行的,但是@RestController这个类一定不能覆盖,要由父容器的类加载器来加载,并自动注入全局的ModuleManager

917415089 commented 6 years ago

jarslink 这货的好处 不是太大啊。感觉不出来 隔离性的好处。

aalansehaiyang commented 6 years ago

@917415089 创业公司基本用不上,主要大公司里面,多团队协助,为了避免代码干扰,或者底层一些基础组件,担心业务引入的依赖产生干扰,会采用隔离策略

kiral commented 6 years ago

模块化开发一般适用于多团队维护一个系统,或一个系统频繁变更。