From 15d43a1bbfaeb4f96e53c4b1f19d3689bee2d6d0 Mon Sep 17 00:00:00 2001 From: huzekang <1040080742@qq.com> Date: Sun, 5 May 2019 20:32:47 +0800 Subject: [PATCH] =?UTF-8?q?change:=201.=20update=20MongoDB=20writer=20clie?= =?UTF-8?q?nt=20init=20configuration=202.=20update=20readme.md=20=EF=BC=8C?= =?UTF-8?q?add=20todo=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 15 ++++++++++++++- mongodbwriter/pom.xml | 2 +- .../writer/mongodbwriter/util/MongoUtil.java | 8 +++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 154615b9..1c312ebe 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,23 @@ ## preparation -only Java环境 +jdk1.8 ## introduction - 使用springboot启动datax,不再需要用python启动。 - 以restful接口启动datax作业 +## TODO LIST + +* [x] springboot重构项目 +* [x] 通过restful接口调度datax完成抽取数据作业 +* [ ] 通过restful接口传入job配置json生成临时文件,根据文件配置调度datax执行该作业 +* [ ] 实现datax分布式作业 +* [ ] 网页端修改job配置的json +* [ ] 网页端实时查看抽取日志 +* [ ] 网页端各种插件模板生成 +* [ ] job配置持久化到db +* [ ] 精简assembly打包结构 + + ## how to run ### 1. 在父工程目录下使用maven打包 ``` diff --git a/mongodbwriter/pom.xml b/mongodbwriter/pom.xml index 0360db2a..6c25aebb 100644 --- a/mongodbwriter/pom.xml +++ b/mongodbwriter/pom.xml @@ -39,7 +39,7 @@ org.mongodb mongo-java-driver - 3.2.2 + 3.4.2 com.google.guava diff --git a/mongodbwriter/src/main/java/com/alibaba/datax/plugin/writer/mongodbwriter/util/MongoUtil.java b/mongodbwriter/src/main/java/com/alibaba/datax/plugin/writer/mongodbwriter/util/MongoUtil.java index 17334be4..c65032f2 100644 --- a/mongodbwriter/src/main/java/com/alibaba/datax/plugin/writer/mongodbwriter/util/MongoUtil.java +++ b/mongodbwriter/src/main/java/com/alibaba/datax/plugin/writer/mongodbwriter/util/MongoUtil.java @@ -5,6 +5,7 @@ import com.alibaba.datax.common.util.Configuration; import com.alibaba.datax.plugin.writer.mongodbwriter.KeyConstant; import com.alibaba.datax.plugin.writer.mongodbwriter.MongoDBWriterErrorCode; import com.mongodb.MongoClient; +import com.mongodb.MongoClientOptions; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; @@ -40,7 +41,12 @@ public class MongoUtil { } try { MongoCredential credential = MongoCredential.createCredential(userName, database, password.toCharArray()); - return new MongoClient(parseServerAddress(addressList), Arrays.asList(credential)); + //当超过这个闲置时间客户端主动关闭连接,下次使用时重新建立连接,这样可以有效避免连接失效的问题 + MongoClientOptions mongoClientOptions = new MongoClientOptions.Builder() + .maxConnectionIdleTime(1000) + .maxConnectionLifeTime(0) + .build(); + return new MongoClient(parseServerAddress(addressList), Arrays.asList(credential),mongoClientOptions); } catch (UnknownHostException e) { throw DataXException.asDataXException(MongoDBWriterErrorCode.ILLEGAL_ADDRESS,"不合法的地址");