第一次写,直奔主题吧,JarsLink为蚂蚁金服开源项目,项目地址:GitHub地址。以前一直做过erlang,对于代码更新的热插拔支持很好,做了几年java,一直想寻找java的热插拔,最近项目不太忙,一直在找一些开源项目,无意中看到了Jarslink。随即实践了下,一开始从网络上找了很多例子(大多基于Spring的),都没有成功,因为本人一直在做java后台计算,纯main启动那种,也做过几个ssm项目,大体了解SpringMVC,但是不是特别精通,这次实践绕了一些弯路。
以下只是一些基本的测试,maven依赖及基本使用不说了, 网上一大堆,后期再结合项目进行实践。
自动更新加载:
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import com.alipay.jarslink.api.ModuleConfig;
import com.alipay.jarslink.api.impl.AbstractModuleRefreshScheduler;
import com.google.common.collect.ImmutableList;
public class ModuleRefreshSchedulerImpl extends AbstractModuleRefreshScheduler {
@Override
public List<ModuleConfig> queryModuleConfigs() {
List<ModuleConfig> tmp = new ArrayList<ModuleConfig>();
tmp = ImmutableList.of(buildModuleConfig());
//下面这个,可以配置多个
// tmp = ImmutableList.of(buildModuleConfig(),buildModuleConfig1());
return tmp;
}
public static ModuleConfig buildModuleConfig() {
URL demoModule = Thread.currentThread().getContextClassLoader().getResource("test-2.