datax添加新数据源的reader和writer
在datax-core中新增数据源常量
在exchangis-engines/engines/datax/datax-core/src/main/java/com/alibaba/datax/plugin/rdbms/util/DataBaseType.java中将新数据源类型加入常量中。下面以新增达梦数据库为例
DM("dm", "dm.jdbc.driver.DmDriver");

新建数据源模块
在datax中,将rdbmsreader模块和rdbmswriter模块复制新建达梦数据库模块

修改名称配置
首先修改pom.xml,将模块名修改为新建的引擎名
<modelVersion>4.0.0</modelVersion>
<artifactId>datax-dmreader</artifactId>
<version>3.0.0-Plus-2</version>
<packaging>jar</packaging>
然后修改assembly文件夹中的package.xml文件,修改打包名称
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>dmreader</id>
<formats>
<format>dir</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>src/main/resources</directory>
<includes>
<include>plugin.json</include>
<include>plugin_job_template.json</include>
</includes>
<outputDirectory>plugin/reader/dmreader</outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>datax-dmreader-${datax.engine.version}.jar</include>
</includes>
<outputDirectory>plugin/reader/dmreader</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>plugin/reader/dmreader/libs</outputDirectory>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>
添加datax-assembly中新建达梦模块的打包内容
<fileSet>
<directory>../datax-dmreader/target/plugin</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
<fileSet>
<directory>../datax-dmwriter/target/plugin</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
在复制而来的达梦数据库模块中还有部分是关于rdbms的配置的,需要修改,比如将rdbmsreader改为dmreader,RDBMSReader.java文件改为DMReader.java文件。同时文件中关于rdbms的配置也需要修改
将private static final DataBaseType DATABASE_TYPE = DataBaseType.RDBMS;修改为private static final DataBaseType DATABASE_TYPE = DataBaseType.DM;
