Browse Source

[Improvement] the automatically generated spi service name in alert-plugin is wrong (#5676)

* bug fix

the auto generated spi service can't be recongized



* include a  new method
kyoty 3 years ago
parent
commit
ee0a4391e7

+ 5 - 1
dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/plugin/DolphinPluginDiscovery.java

@@ -105,7 +105,7 @@ final class DolphinPluginDiscovery {
             public FileVisitResult visitFile(Path file, BasicFileAttributes attributes) {
             public FileVisitResult visitFile(Path file, BasicFileAttributes attributes) {
                 if (file.getFileName().toString().endsWith(JAVA_CLASS_FILE_SUFFIX)) {
                 if (file.getFileName().toString().endsWith(JAVA_CLASS_FILE_SUFFIX)) {
                     String name = file.subpath(base.getNameCount(), file.getNameCount()).toString();
                     String name = file.subpath(base.getNameCount(), file.getNameCount()).toString();
-                    list.add(javaName(name.substring(0, name.length() - JAVA_CLASS_FILE_SUFFIX.length())));
+                    list.add(convertClassName(name.substring(0, name.length() - JAVA_CLASS_FILE_SUFFIX.length())));
                 }
                 }
                 return FileVisitResult.CONTINUE;
                 return FileVisitResult.CONTINUE;
             }
             }
@@ -143,4 +143,8 @@ final class DolphinPluginDiscovery {
     private static String javaName(String binaryName) {
     private static String javaName(String binaryName) {
         return binaryName.replace('/', '.');
         return binaryName.replace('/', '.');
     }
     }
+
+    private static String convertClassName(String pathName) {
+        return pathName.replace(File.separatorChar, '.');
+    }
 }
 }