#HotSwap 1,需要初始化热部署的线程 如下 new HotswapBuilder().setCheckFileTime(3000L).setPlugFilePath("D:/hhh").isGCToDelteFile(true).startHotswap(); setCheckFileTime是定期扫描文件的时间(毫秒) setPlugFilePath是设置组件的目录 isGCToDelteFile是是否使用gc来删除目录,这里是显示的调用system.gc()这样有利于删除组件目录,默认是flase,如果项目中使用了弱引用等等,这里应该设置为false startHotswap是启动线程的地方 2,使用ApplicationContext来获取对象 getNewBeans获取是一个新的对象 getBeans获取的是相同的对象ApplicationContext来维护单例 如下 ApplicationContext.getNewBeans(Hello.class); 3,目录设置 就是组件目录,组件目录下的每一个目录表示一个组件 例如组件目录是/data 目录/data/read/表示read功能组件 目录/data/write/表示write功能组件 每个功能组件下需要配置config.properties文件里面是接口和实现类的映射 例如com.xp.Hello=com.xp.HellobyPerson 参考工程里的config.properties 4,config.properties的属性 支持delete属性,设置这个属性后,整个功能组件目录会被删除 支持增加配置文件内容,不支持动态的减少文件内容 5,使用方式 设定好接口,和实现类 然后根据接口编程,把实现类放入功能组件中去,如果动态替换实现,则把旧的功能组件中配置文件设置为delete=true,然后等删除文件后,加入新的组件目录,设置isGCToDelteFile为true会加速删除目录 可以参考工程中的例子 如果遇到废弃单独的接口的情况,只需要把配置文件中的配置项加:d 例如我单独向停止com.xp.Hello的实现只需要com.xp.Hello=com.xp.HellobyPerson:d即可
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )