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

在SpringMVC中无法进行热替换更新??? #24

Closed Link-Kou closed 6 years ago

Link-Kou commented 6 years ago

本人试了一下,可以在SpringMVC中动态新增更新可以实现,但是实现类替换更新就不能实现?

具体步骤:

1.我创建了两个JAR包,相同的包名和类名称,就是里面的实现方法中返回的名称getActionName名称不一样 2.在SpringMVC中创建两个Controller方法和两个ModuleManager、ModuleLoader 3.可以实现动态的增加更新,却无法实现替换更新

JoeKerouac commented 6 years ago

@fannaoshaoxiang 模块更新后可以使用ModuleManager.find(String name, String version)方法获取到或者先使用ModuleManager.activeVersion方法将更新后的模块设置为默认模块然后使用ModuleManager.find(String name)查找模块

Link-Kou commented 6 years ago

@935237604 已经更新了是吧?

JoeKerouac commented 6 years ago

@fannaoshaoxiang 这个不算个BUG,是这样设计的,模块加载进来后如果原来已经存在该模块那么需要手动将新加载进来的模块激活然后才能调用find(String)方法查找到,如果没有激活的话就需要使用find(Stirng name , String version)方法查找了,激活可以使用activeVersion方法。这是当前1.6.1分支的。