首页 > 编程语言 >Java启动DataX数据同步,如何终止/停止/中断同步数据任务

Java启动DataX数据同步,如何终止/停止/中断同步数据任务

时间:2022-10-31 15:56:03浏览次数:56  
标签:同步 Java taskGroupContainerExecutorService 任务 DataX taskId 终止 数据

Java启动DataX数据同步,如何终止/停止/中断同步数据任务:

 

1、找到dataxcore模块找到类:ProcessInnerScheduler.java,将taskGroupContainerExecutorService对象存起来,
需要中断数据同步任务时,取出对象调用shutdownNow()方法;


2、代码改造如下:
@Override
public void startAllTaskGroup(List<Configuration> configurations) {
this.taskGroupContainerExecutorService = Executors.newFixedThreadPool(configurations.size());

for (Configuration taskGroupConfiguration : configurations) {
TaskGroupContainerRunner taskGroupContainerRunner = newTaskGroupContainerRunner(taskGroupConfiguration);
this.taskGroupContainerExecutorService.execute(taskGroupContainerRunner);
//*************************************自定义代码,记录taskGroupContainerExecutorService,用于终止任务*************************************
ThreadPoolUtil.dataxTaskExecutorServiceMap.put(taskGroupConfiguration.getInt(CoreConstant.DATAX_CORE_CONTAINER_JOB_ID),
this.taskGroupContainerExecutorService);
}

this.taskGroupContainerExecutorService.shutdown();
}


3、终止datax同步数据任务,代码如下:
/**
* 终止datax同步服务
*
* @param taskId
* @return
*/
public static boolean cancelDataxTaskExecutorService(Integer taskId) {
boolean cancelResult = false;
try {
ExecutorService executorService = dataxTaskExecutorServiceMap.get(taskId);
if (executorService != null) {
executorService.shutdownNow();
dataxTaskExecutorServiceMap.remove(taskId);
LogCacheUtil.setLogList(taskId, "强制终止同步数据任务.");
}
cancelResult = true;
} catch (Exception e) {
LogCacheUtil.setLogList(taskId, "强制终止同步数据任务失败:" + e);
e.printStackTrace();
}
return cancelResult;
}


标签:同步,Java,taskGroupContainerExecutorService,任务,DataX,taskId,终止,数据
From: https://www.cnblogs.com/haidaogege/p/16844576.html

相关文章

  • 大一学生《Web编程基础》期末网页制作 HTML+CSS+JavaScript 网页设计实例 企业网站制
    HTML实例网页代码,本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人......
  • Java Web开发流程的学习
    一开始我只是想学习一下WEB界面的JAVA变成,看了这个文章:https://blog.csdn.net/java_0000/article/details/124480210要创建Web应用程序,告诉大家需要以下Java开发工具:I......
  • JavaScript-JQuery-3
    JQuery​​1.首先可以放包,也可以使用网络链接​​​​2.获取id标签使用$("#ID名")​​​​3.获取class的标签$(".Class名")​​​​4.直接获取标签$("标签名")​​​​5.组合......
  • java-Swing常用组件-1
    文章目录​​Swing常用组件​​Swing常用组件......
  • java反序列化cc_link_one2
    CC-LINK-one_second前言这条链子其实是上一条链子的另一种走法,在调用危险函数哪里是没有什么变化的整体链子还是尾部没有变化嘛还是InvokerTransformer的transform方法......
  • JavaWeb期中考试-2019年版(三)
    本次内容为2019年期中考试的数据添加界面add.jsp和数据接受界面addq.jsp的代码分享首先是add.jsp1<%@pagelanguage="java"contentType="text/html;charset=UTF-8"......
  • JavaWeb期中考试-2019年版(一)
    第七次全国人口普查登记(20分)1、项目需求:开展第七次全国人口普查,将为编制“十四五”规划提供重要信息支持;推动实现人口与经济社会、资源环境协调发展,为深化供给侧结构性改......
  • 狂神说javaweb笔记
    1、基本概念1.1前言静态web:提供给所有人看到的数据不会发生变化HTML,CSS动态web:有数据交互,登录账号密码等,网站访问人数等技术栈:severlet、jsp,asp,php在java中,动......
  • Java获取/resources目录下的资源文件方法
    Web项目开发中,经常会有一些静态资源,被放置在resources目录下,随项目打包在一起,代码中要使用的时候,通过文件读取的方式,加载并使用;今天总结整理了九种方式获取resources目录......
  • 《从案例中学习JavaScript》之实现对话效果
    今天突发奇想,js能不能通过字符串和定时器来实现游戏中的对话效果呢。试了一下,还真挺好玩的。上效果图:本节涉及的知识点:字符串的charAt方法js定时器setInterval(轮询)###1.cha......