Răsfoiți Sursa

add plugins

AE86 4 ani în urmă
părinte
comite
8b41ae1ae2

+ 4 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/PluginService.java

@@ -24,4 +24,8 @@ public interface PluginService {
      */
     String getPluginPath();
 
+    /**
+     * 加载插件
+     */
+    void loadPlugins();
 }

+ 5 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/PluginServiceImpl.java

@@ -28,4 +28,9 @@ public class PluginServiceImpl implements PluginService {
     public String getPluginPath() {
         return manager.getPluginPath();
     }
+
+    @Override
+    public void loadPlugins() {
+        manager.loadPlugins();
+    }
 }

+ 2 - 0
dbsyncer-plugin/src/main/java/org/dbsyncer/plugin/PluginFactory.java

@@ -32,10 +32,12 @@ public class PluginFactory {
     private final List<Plugin> plugins = new LinkedList<>();
 
     public void loadPlugins() {
+        plugins.clear();
         Collection<File> files = FileUtils.listFiles(new File(PLUGIN_PATH), new String[] {"jar"}, true);
         if (!CollectionUtils.isEmpty(files)) {
             files.forEach(f -> plugins.add(new Plugin(f.getName(), f.getName())));
         }
+        logger.info("PreLoad plugin:{}", plugins.size());
     }
 
     public String getPluginPath() {

+ 1 - 0
dbsyncer-web/src/main/java/org/dbsyncer/web/controller/upload/UploadController.java

@@ -46,6 +46,7 @@ public class UploadController {
                         FileUtils.copyInputStreamToFile(file.getInputStream(), dest);
                     }
                 }
+                pluginService.loadPlugins();
             }
             return RestResult.restSuccess("ok");
         } catch (Exception e) {