From af631a0a00b106af75258f0718db4430d38c00db Mon Sep 17 00:00:00 2001 From: FuYouJ <1247908487@qq.com> Date: Sat, 5 Aug 2023 23:11:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E4=BE=9D=E8=B5=96=E4=BA=8Euser.dir?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F,=E6=89=80=E4=BB=A5?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=8A=A0=E8=BD=BD=E5=B7=A5=E5=8E=82=E4=BE=BF?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=84=8F=E4=B9=89=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 不依赖于user.dir环境变量,所以插件加载工厂便没有意义了 --- .../datax/core/util/container/LoadUtil.java | 18 ++- datax-example/doc/README.md | 80 ++++++++-- datax-example/doc/img/img02.png | Bin 62843 -> 67578 bytes datax-example/pom.xml | 24 ++- .../java/com/alibaba/datax/example/Main.java | 22 ++- .../example/util/ExampleConfigParser.java | 71 +++++++-- .../datax/example/DataXExampleTest.java | 14 +- .../example/util/ExampleConfigParserTest.java | 3 +- pom.xml | 142 +++++++++--------- streamreader/pom.xml | 10 ++ streamwriter/pom.xml | 10 ++ 11 files changed, 271 insertions(+), 123 deletions(-) diff --git a/core/src/main/java/com/alibaba/datax/core/util/container/LoadUtil.java b/core/src/main/java/com/alibaba/datax/core/util/container/LoadUtil.java index 0891e4d6..9a6a8302 100755 --- a/core/src/main/java/com/alibaba/datax/core/util/container/LoadUtil.java +++ b/core/src/main/java/com/alibaba/datax/core/util/container/LoadUtil.java @@ -49,7 +49,7 @@ public class LoadUtil { /** * jarLoader的缓冲 */ - private static Map jarLoaderCenter = new HashMap(); + private static Map jarLoaderCenter = new HashMap(); /** * 设置pluginConfigs,方便后面插件来获取 @@ -167,7 +167,7 @@ public class LoadUtil { PluginType pluginType, String pluginName, ContainerType pluginRunType) { Configuration pluginConf = getPluginConf(pluginType, pluginName); - ClassLoader jarLoader = LoadUtil.getJarLoader(pluginType, pluginName); + JarLoader jarLoader = LoadUtil.getJarLoader(pluginType, pluginName); try { return (Class) jarLoader .loadClass(pluginConf.getString("class") + "$" @@ -177,14 +177,22 @@ public class LoadUtil { } } - public static synchronized ClassLoader getJarLoader(PluginType pluginType, + public static synchronized JarLoader getJarLoader(PluginType pluginType, String pluginName) { Configuration pluginConf = getPluginConf(pluginType, pluginName); - ClassLoader jarLoader = jarLoaderCenter.get(generatePluginKey(pluginType, + JarLoader jarLoader = jarLoaderCenter.get(generatePluginKey(pluginType, pluginName)); if (null == jarLoader) { - jarLoader = PluginLoaderFactory.create(pluginConf,pluginType,pluginName); + String pluginPath = pluginConf.getString("path"); + if (StringUtils.isBlank(pluginPath)) { + throw DataXException.asDataXException( + FrameworkErrorCode.RUNTIME_ERROR, + String.format( + "%s插件[%s]路径非法!", + pluginType, pluginName)); + } + jarLoader = new JarLoader(new String[]{pluginPath}); jarLoaderCenter.put(generatePluginKey(pluginType, pluginName), jarLoader); } diff --git a/datax-example/doc/README.md b/datax-example/doc/README.md index 94a5e46d..467c2d37 100644 --- a/datax-example/doc/README.md +++ b/datax-example/doc/README.md @@ -21,28 +21,82 @@ ### 实现原理 -- 不修改原有的ConfigParer,使用新的ExampleConfigParser,仅用于example模块。 -- 提供新的PluginLoader 插件加载器,可以从程序运行目录获取插件,与JarLoader各司其职。 +- 不修改原有的ConfigParer,使用新的ExampleConfigParser,仅用于example模块。他不依赖datax.home,而是依赖ide编译后的target目录 +- 将ide的target目录作为每个插件的目录类加载目录。 ![img](img/img02.png) -### 如何使用 +### 如何使用 +1.修改插件的pom文件,做如下改动。以streamreader为例。
+改动前 +```xml + + + + + maven-compiler-plugin + + ${jdk-version} + ${jdk-version} + ${project-sourceEncoding} + + + + +``` +改动后 +```xml + + + + + src/main/resources + + **/*.* + + true + + + + + + maven-compiler-plugin + + ${jdk-version} + ${jdk-version} + ${project-sourceEncoding} + + + + +``` +2.在datax-example模块引入你需要的插件,默认只引入了streamreader、writer + +3.打开datax-example的Main class ```java public class Main { - public static void main(String[] args) { - //1. 在 datax-example pom文件中加入测试插件模块的依赖,默认导入了streamreader/writer - //2. 在此处指定你的测试文件路径 - String path = "/job/stream2stream.json"; - Configuration configuration = ExampleConfigParser.parse( - PathUtil.getAbsolutePathFromClassPath(path) - ); + /** + * 注意! + * 1.在example模块pom文件添加你依赖的的调试插件, + * 你可以直接打开本模块的pom文件,参考是如何引入streamreader,streamwriter + * 2. 在此处指定你的job文件 + */ + public static void main(String[] args) { + + String classPathJobPath = "/job/stream2stream.json"; + String absJobPath = PathUtil.getAbsolutePathFromClassPath(classPathJobPath); + startExample(absJobPath); + } + + public static void startExample(String jobPath) { + + Configuration configuration = ExampleConfigParser.parse(jobPath); Engine engine = new Engine(); engine.start(configuration); } + } -``` -### 注意 -此模块不参与打包 +``` \ No newline at end of file diff --git a/datax-example/doc/img/img02.png b/datax-example/doc/img/img02.png index 5e535a4c4aea70616c0435224f1d98f5d7b76faa..eec860d4231560b94139f1b946aa03f7ca6385f9 100644 GIT binary patch literal 67578 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 Li|2AQZ14Xsk30Aa literal 62843 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 bjCG9TPabh0wkvN04g8apQj#o^(D(U2WhK~Z diff --git a/datax-example/pom.xml b/datax-example/pom.xml index f8285ae8..9f077a28 100644 --- a/datax-example/pom.xml +++ b/datax-example/pom.xml @@ -28,6 +28,7 @@ datax-core 0.0.1-SNAPSHOT + com.alibaba.datax streamwriter @@ -49,12 +50,31 @@ - src/main/java + src/main/resources - **/*.properties + **/*.* + true + + + src/main/resources + + **/*.* + + true + + + + maven-compiler-plugin + + ${jdk-version} + ${jdk-version} + ${project-sourceEncoding} + + + \ No newline at end of file diff --git a/datax-example/src/main/java/com/alibaba/datax/example/Main.java b/datax-example/src/main/java/com/alibaba/datax/example/Main.java index 1e600753..afb6829c 100644 --- a/datax-example/src/main/java/com/alibaba/datax/example/Main.java +++ b/datax-example/src/main/java/com/alibaba/datax/example/Main.java @@ -10,15 +10,25 @@ import com.alibaba.datax.example.util.PathUtil; * @author fuyouj */ public class Main { - public static void main(String[] args) { - //在此处指定你的测试文件路径 - String path = "/job/stream2stream.json"; - Configuration configuration = ExampleConfigParser.parse( - PathUtil.getAbsolutePathFromClassPath(path) - ); + /** + * 1.在example模块pom文件添加你依赖的的调试插件, + * 你可以直接打开本模块的pom文件,参考是如何引入streamreader,streamwriter + * 2. 在此处指定你的job文件 + */ + public static void main(String[] args) { + + String classPathJobPath = "/job/stream2stream.json"; + String absJobPath = PathUtil.getAbsolutePathFromClassPath(classPathJobPath); + startExample(absJobPath); + } + + public static void startExample(String jobPath) { + + Configuration configuration = ExampleConfigParser.parse(jobPath); Engine engine = new Engine(); engine.start(configuration); } + } diff --git a/datax-example/src/main/java/com/alibaba/datax/example/util/ExampleConfigParser.java b/datax-example/src/main/java/com/alibaba/datax/example/util/ExampleConfigParser.java index af4f2c18..cf13c9ba 100644 --- a/datax-example/src/main/java/com/alibaba/datax/example/util/ExampleConfigParser.java +++ b/datax-example/src/main/java/com/alibaba/datax/example/util/ExampleConfigParser.java @@ -7,10 +7,10 @@ import com.alibaba.datax.core.util.FrameworkErrorCode; import com.alibaba.datax.core.util.container.CoreConstant; import java.io.File; +import java.io.IOException; import java.net.URL; import java.nio.file.Paths; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * @author fuyouj @@ -44,9 +44,15 @@ public class ExampleConfigParser { Configuration configuration = Configuration.newDefault(); - String workingDirectory = System.getProperty("user.dir"); - File file = new File(workingDirectory); - scanPlugin(configuration, file.listFiles(), pluginTypeMap); + //最初打算通过user.dir获取工作目录来扫描插件, + //但是user.dir在不同有一些不确定性,所以废弃了这个选择 + + for (File basePackage : runtimeBasePackages()) { + if (pluginTypeMap.isEmpty()) { + break; + } + scanPluginByPackage(basePackage, configuration, basePackage.listFiles(), pluginTypeMap); + } if (!pluginTypeMap.isEmpty()) { throw DataXException.asDataXException(FrameworkErrorCode.PLUGIN_INIT_ERROR, "load plugin failed,未完成指定插件加载:" @@ -55,7 +61,42 @@ public class ExampleConfigParser { return configuration; } - private static void scanPlugin(Configuration configuration, File[] files, Map pluginTypeMap) { + /** + * 通过classLoader获取程序编译的输出目录 + * @return File[/datax-example/target/classes,xxReader/target/classes,xxWriter/target/classes] + */ + private static File[] runtimeBasePackages() { + List basePackages = new ArrayList<>(); + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + Enumeration resources = null; + try { + resources = classLoader.getResources(""); + } catch (IOException e) { + throw DataXException.asDataXException(e.getMessage()); + } + + while (resources.hasMoreElements()) { + URL resource = resources.nextElement(); + File file = new File(resource.getFile()); + if (file.isDirectory()) { + basePackages.add(file); + } + } + + return basePackages.toArray(new File[0]); + } + + /** + * + * @param packageFile 编译出来的target/classes根目录 便于找到插件时设置插件的URL目录,设置根目录是最保险的方式 + * @param configuration pluginConfig + * @param files 待扫描文件 + * @param needPluginTypeMap 需要的插件 + */ + private static void scanPluginByPackage(File packageFile, + Configuration configuration, + File[] files, + Map needPluginTypeMap) { if (files == null) { return; } @@ -64,22 +105,26 @@ public class ExampleConfigParser { Configuration pluginDesc = Configuration.from(file); String descPluginName = pluginDesc.getString("name", ""); - if (pluginTypeMap.containsKey(descPluginName)) { + if (needPluginTypeMap.containsKey(descPluginName)) { - String type = pluginTypeMap.get(descPluginName); - configuration.merge(parseOnePlugin(type, descPluginName, pluginDesc), false); - pluginTypeMap.remove(descPluginName); + String type = needPluginTypeMap.get(descPluginName); + configuration.merge(parseOnePlugin(packageFile.getAbsolutePath(),type, descPluginName, pluginDesc), false); + needPluginTypeMap.remove(descPluginName); } } else { - scanPlugin(configuration, file.listFiles(), pluginTypeMap); + scanPluginByPackage(packageFile,configuration, file.listFiles(), needPluginTypeMap); } } } - private static Configuration parseOnePlugin(String pluginType, String pluginName, Configuration pluginDesc) { - pluginDesc.set("loadType","pluginLoader"); + private static Configuration parseOnePlugin(String packagePath, + String pluginType, + String pluginName, + Configuration pluginDesc) { + //设置path 兼容jarLoader的加载方式URLClassLoader + pluginDesc.set("path", packagePath); Configuration pluginConfInJob = Configuration.newDefault(); pluginConfInJob.set( String.format("plugin.%s.%s", pluginType, pluginName), diff --git a/datax-example/src/test/java/com/alibaba/datax/example/DataXExampleTest.java b/datax-example/src/test/java/com/alibaba/datax/example/DataXExampleTest.java index 12aac3fe..06af835b 100644 --- a/datax-example/src/test/java/com/alibaba/datax/example/DataXExampleTest.java +++ b/datax-example/src/test/java/com/alibaba/datax/example/DataXExampleTest.java @@ -1,24 +1,16 @@ package com.alibaba.datax.example; -import com.alibaba.datax.common.util.Configuration; -import com.alibaba.datax.core.Engine; -import com.alibaba.datax.example.util.ExampleConfigParser; import com.alibaba.datax.example.util.PathUtil; import org.junit.Test; -public class DataXExampleTest extends ExampleTestTemplate { +public class DataXExampleTest { @Test public void testStreamReader2StreamWriter() { - String path = "/job/stream2stream.json"; - Configuration testConfiguration = ExampleConfigParser.parse( - PathUtil.getAbsolutePathFromClassPath(path) - ); - Engine engine = new Engine(); - engine.start(testConfiguration); + String jobPath = PathUtil.getAbsolutePathFromClassPath(path); + Main.startExample(jobPath); } - } diff --git a/datax-example/src/test/java/com/alibaba/datax/example/util/com/alibaba/datax/example/util/ExampleConfigParserTest.java b/datax-example/src/test/java/com/alibaba/datax/example/util/com/alibaba/datax/example/util/ExampleConfigParserTest.java index 64eab578..5a99e7b1 100644 --- a/datax-example/src/test/java/com/alibaba/datax/example/util/com/alibaba/datax/example/util/ExampleConfigParserTest.java +++ b/datax-example/src/test/java/com/alibaba/datax/example/util/com/alibaba/datax/example/util/ExampleConfigParserTest.java @@ -1,7 +1,6 @@ package com.alibaba.datax.example.util.com.alibaba.datax.example.util; import com.alibaba.datax.common.util.Configuration; -import com.alibaba.datax.example.ExampleTestTemplate; import com.alibaba.datax.example.util.ExampleConfigParser; import com.alibaba.datax.example.util.PathUtil; import org.junit.Assert; @@ -10,7 +9,7 @@ import org.junit.Test; import java.io.File; -public class ExampleConfigParserTest extends ExampleTestTemplate { +public class ExampleConfigParserTest { @Test diff --git a/pom.xml b/pom.xml index 4af27ee3..c3d87ec9 100644 --- a/pom.xml +++ b/pom.xml @@ -47,88 +47,88 @@ transformer - mysqlreader - drdsreader - sqlserverreader - postgresqlreader - kingbaseesreader - oraclereader - cassandrareader - oceanbasev10reader - rdbmsreader + + + + + + + + + - odpsreader - otsreader - otsstreamreader - hbase11xreader - hbase094xreader - hbase11xsqlreader - hbase20xsqlreader + + + + + + + - ossreader - hdfsreader - ftpreader - txtfilereader + + + + streamreader - clickhousereader + - mongodbreader - tdenginereader - gdbreader - tsdbreader - opentsdbreader - loghubreader - datahubreader - starrocksreader + + + + + + + + - - mysqlwriter - starrockswriter - drdswriter - databendwriter - oraclewriter - sqlserverwriter - postgresqlwriter - kingbaseeswriter - adswriter - oceanbasev10writer - adbpgwriter - hologresjdbcwriter - rdbmswriter + + + + + + + + + + + + + + - odpswriter - osswriter - otswriter - hbase11xwriter - hbase094xwriter - hbase11xsqlwriter - hbase20xsqlwriter - kuduwriter - ftpwriter - hdfswriter - txtfilewriter + + + + + + + + + + + streamwriter - elasticsearchwriter - mongodbwriter - tdenginewriter - ocswriter - tsdbwriter - gdbwriter - oscarwriter - loghubwriter - datahubwriter - cassandrawriter - clickhousewriter - doriswriter - selectdbwriter - adbmysqlwriter - neo4jwriter + + + + + + + + + + + + + + + - plugin-rdbms-util - plugin-unstructured-storage-util + + datax-example diff --git a/streamreader/pom.xml b/streamreader/pom.xml index dc754d9a..7d186076 100755 --- a/streamreader/pom.xml +++ b/streamreader/pom.xml @@ -39,6 +39,16 @@ + + + + src/main/resources + + **/*.* + + true + + diff --git a/streamwriter/pom.xml b/streamwriter/pom.xml index 4a987fac..2fa95d7b 100755 --- a/streamwriter/pom.xml +++ b/streamwriter/pom.xml @@ -34,6 +34,16 @@ + + + + src/main/resources + + **/*.* + + true + +