首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >springboot项目集成dolphinscheduler调度器 项目管理

springboot项目集成dolphinscheduler调度器 项目管理

原创
作者头像
刘大猫
发布于 2025-07-09 12:09:14
发布于 2025-07-09 12:09:14
1390
举报
文章被收录于专栏:JAVA相关JAVA相关

dolphinscheduler调度器接入注意事项等信息可参考我的上一篇博客进行了解,地址在这里 ->

@TOC

一、功能清单

二、项目管理

说明:项目管理统一用dolphinscheduler调度器的admin用户token执行

共用的依赖

代码语言:java
AI代码解释
复制
<!--httpclient-->
<dependency>
    <groupId>commons-httpclient</groupId>
    <artifactId>commons-httpclient</artifactId>
    <version>3.1</version>
</dependency>

共用配置文件

代码语言:java
AI代码解释
复制
dolphinscheduler.token=xxx
dolphinscheduler.address=http://IP:12345

共用代码

代码语言:java
AI代码解释
复制
@Autowired
private RestTemplate restTemplate;
@Value("${dolphinscheduler.token}")
String token;
@Value("${dolphinscheduler.address}")
String address;
public static final int ZERO = 0;
public static final int SUCCESS = 200;
@Autowired
private DragSparkTaskService dragSparkTaskService;
@Value("${spark.main.class}")
String mainClass;
public static final String CREATE = "create";
public static final String UPDATE = "update";
public static final String ADD = "add";
public static final String DELETE = "delete";
public static final String ONLINE = "ONLINE";
public static final String OFFLINE = "OFFLINE";
public static final int ONE_THOUSAND_AND_FIVE_HUNDRED = 1500;
public static final int SIX = 6;
public static final int EIGHTY = 80;
public static final int THREE = 3;
@Autowired
private StringRedisTemplate redisTemplate;
@Value("${drag.task.state}")
String dragTaskState;
@Autowired
private DragSparkTaskMapper dragSparkTaskMapper;

1.查询项目列表

代码

代码语言:java
AI代码解释
复制
/**
     * 查询项目列表
     * @param pageNo 当前页
     * @param pageSize 每页显示数量
     * @param searchVal 模糊搜索值
     * @author liudz
     * @date 2021/5/7
     * @return 执行结果
     **/
    @GetMapping("/project/list")
    public Response getProjectList(@RequestParam int pageNo, @RequestParam int pageSize,
        @RequestParam(required = false) String searchVal) {
        HttpHeaders headers = new HttpHeaders();
        headers.set("token", token);
        headers.set("Content-Type", "application/json");
        HttpEntity requestEntity = new HttpEntity(headers);
        String url = "";
        if (StringUtils.isEmpty(searchVal)) {
            url = address + "/dolphinscheduler/projects/list-paging?pageNo=" + pageNo + "&pageSize=" + pageSize;
        } else {
            url = address + "/dolphinscheduler/projects/list-paging?pageNo=" + pageNo + "&pageSize=" + pageSize
                + "&searchVal=" + searchVal;
        }
        ResponseEntity<DolphinschedulerResponse> response =
            restTemplate.exchange(url, HttpMethod.GET, requestEntity, DolphinschedulerResponse.class);
        return Response.success(response.getBody().getData());
    }

2.创建项目

代码

代码语言:java
AI代码解释
复制
/**
     * 创建项目
     * @param projectDto 项目参数
     * @author liudz
     * @date 2021/5/7
     * @return 执行结果
     **/
    @PostMapping("/project/creat")
    public Response creatProject(@RequestBody ProjectDto projectDto) {
        try {
            String postURL = address + "/dolphinscheduler/projects/create";
            PostMethod postMethod = new PostMethod(postURL);
            postMethod.setRequestHeader("Content-Type",
                    "application/x-www-form-urlencoded;charset=utf-8");
            postMethod.setRequestHeader("token", token);
            // 参数设置,需要注意的就是里边不能传NULL,要传空字符串
            NameValuePair[] data = {new NameValuePair("projectName", projectDto.getProjectName()),
                new NameValuePair("description", projectDto.getDescription())};
            postMethod.setRequestBody(data);
            org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
            httpClient.executeMethod(postMethod);
            JSONObject result = JSONObject.parseObject(postMethod.getResponseBodyAsString());
            if (!result.get(DictionaryEnum.CODE.getFiledString()).equals(ZERO)) {
                return Response.error(result.getInteger("code"), result.getString("msg"));
            }
        } catch (Exception e) {
            log.info("请求异常:{}", e);
        }
        return Response.success();
    }

3.更新项目

代码

代码语言:java
AI代码解释
复制
/**
     * 更新项目
     * @param projectDto 项目参数
     * @author liudz
     * @date 2021/5/7
     * @return 执行结果
     **/
    @PutMapping("/project/update")
    public Response updateProject(@RequestBody ProjectDto projectDto) {
        try {
            String postURL = address + "/dolphinscheduler/projects/update";
            PostMethod postMethod = new PostMethod(postURL);
            postMethod.setRequestHeader("Content-Type",
                    "application/x-www-form-urlencoded;charset=utf-8");
            postMethod.setRequestHeader("token", token);
            // 参数设置,需要注意的就是里边不能传NULL,要传空字符串
            NameValuePair[] data = {
                new NameValuePair("projectName", projectDto.getProjectName()),
                new NameValuePair("projectId", projectDto.getProjectId().toString()),
                new NameValuePair("description", projectDto.getDescription())};
            postMethod.setRequestBody(data);
            org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
            httpClient.executeMethod(postMethod);
            JSONObject result = JSONObject.parseObject(postMethod.getResponseBodyAsString());
            if (!result.get(DictionaryEnum.CODE.getFiledString()).equals(ZERO)) {
                return Response.error(result.getInteger("code"), result.getString("msg"));
            }
        } catch (Exception e) {
            log.info("请求异常:{}", e);
        }
        return Response.success();
    }

4.删除项目

代码

代码语言:java
AI代码解释
复制
/**
     * 删除项目
     * @param projectId 项目id
     * @author liudz
     * @date 2021/5/7
     * @return 执行结果
     **/
    @DeleteMapping("/project/delete")
    public Response deleteProject(@RequestParam String projectId) {
        HttpHeaders headers = new HttpHeaders();
        headers.set("token", token);
        headers.set("Content-Type", "application/json");
        HttpEntity requestEntity = new HttpEntity(headers);
        ResponseEntity<DolphinschedulerResponse> response = restTemplate.exchange(
                address + "/dolphinscheduler/projects/delete?projectId=" + projectId, HttpMethod.GET,
                requestEntity, DolphinschedulerResponse.class);
        if (response.getBody().getCode() != ZERO) {
            return Response.error(response.getBody().getCode(), response.getBody().getMsg());
        }
        return Response.success();
    }

三、本人相关其他文章链接

1.springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理:

https://blog.csdn.net/a924382407/article/details/117119831

2.springboot项目集成dolphinscheduler调度器 实现datax数据同步任务:

https://blog.csdn.net/a924382407/article/details/120951230

3.springboot项目集成dolphinscheduler调度器 项目管理:

https://blog.csdn.net/a924382407/article/details/117118931

4.springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务

https://blog.csdn.net/a924382407/article/details/117121181

5.springboot项目集成大数据第三方dolphinscheduler调度器

https://blog.csdn.net/a924382407/article/details/117113848

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
dolphinscheduler调度器接入注意事项等信息可参考我的上一篇博客进行了解,地址在这里 ->
刘大猫
2025/07/17
1710
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
dolphinscheduler调度器接入注意事项等信息可参考我的上一篇博客进行了解,地址在这里 ->
刘大猫
2025/07/12
1370
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
Datax安装及基本使用请查看上一篇文章:https://blog.csdn.net/a924382407/article/details/120952339?spm=1001.2014.3001.5501
刘大猫
2025/07/13
1780
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
刘大猫
2024/12/05
5060
springboot集成ElasticSearch使用completion实现补全功能
所谓自动补全功能就是“百度搜索框”中每敲下一个字符下面的提示框就会动态改变提示的功能,就是下面的效果:↓
刘大猫
2024/11/02
2030
网页爬虫小记:两种方式的爬取网站内容
此处进行简单的分类,对于普通的网页爬取内容,如果没有登录界面可以直接使用Jsoup的API进行爬取;
小勇DW3
2018/10/11
8550
网页爬虫小记:两种方式的爬取网站内容
HTTPClient和CloseableHttpClient
使用HttpClient发送请求的一般步骤 (1) 创建HttpClient对象。 (2)创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。 (3) 如果需要发送请求参数,可调用HttpGet同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,可调用setEntity(HttpEntity entity)方法来设置请求参数。 (4) 调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。 (5) 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。 (6) 释放连接。无论执行方法是否成功,都必须释放连接
全栈程序员站长
2022/07/25
1.8K0
java手机发送短信验证码
找到一个短信验证平台:这里用的是:中国网建SMS短信平台。 网址:http://sms.webchinese.cn/api.shtml 导入下列包 测试代码: import java.io.IOExc
斯文的程序
2019/11/07
12.2K0
java手机发送短信验证码
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
https://blog.csdn.net/a924382407/article/details/121955349
刘大猫
2024/11/27
1620
一文读懂,硬核 Apache DolphinScheduler3.0 源码解析
大家能关注DolphinScheduler那么一定对调度系统有了一定的了解,对于调度所涉及的到一些专有名词在这里就不做过多的介绍,重点介绍一下流程定义,流程实例,任务定义,任务实例。(没有作业这个概念确实也很新奇,可能是不想和Quartz的JobDetail重叠)。
王知无-import_bigdata
2022/11/11
2.7K0
一文读懂,硬核 Apache DolphinScheduler3.0 源码解析
WebService接口
这是我在做对外部系统推送数据时自己写的WebService推送接口工具类,有几点需要注意
全栈程序员站长
2022/09/07
1.6K0
WebService接口
Java调用第三方接口(http总结)
如果有一些jar包找不到,(不是maven管理需要自己下载)有时候有各种问题,或者墙或者找不到之类,可以通过创建一个maven空项目,添加pom依赖,然后下载,在pom仓库里找到即可用。
全栈程序员站长
2022/08/31
3.5K0
JAVA实现利用第三方平台发送短信验证码
前段时间自己做的一个小项目中,涉及到用短信验证码登录、注册的问题,之前没涉及过这一块,看了别人的博客其实也是似懂非懂的,现在就将自己做的利用第三方短信平台来发送验证码这个功能记下来。
用户7353950
2022/06/23
6.3K0
JAVA实现利用第三方平台发送短信验证码
springMvc项目集成cxf实现webService通信方式的详细步骤
 添加webService服务接口的bean文件 applicationContext-cxf.xml
跟着飞哥学编程
2022/11/30
1.9K0
springMvc项目集成cxf实现webService通信方式的详细步骤
聊聊nacos的RaftProxy
nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftProxy.java
code4it
2019/10/04
5370
聊聊nacos的RaftProxy
java(优化20) httpClient简介
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.3 (GA)。
Java架构师必看
2021/06/10
1.1K0
开发小技巧备忘
今天一段时间一直在忙工作上的事,并没有系统地学习研究某一个具体的问题,但回顾这一个月的工作,发现还是有一些经验可以记录一下的。但这些经验没法系统地整理起来,因此只能算是开发中的杂项了。 杂项一:httpclient典型用法 基础用法 HttpClient httpClient = HttpClientBuilder.create().build(); HttpPost postMethod = null; try { postMethod = new HttpPost(reqUrl); p
jeremyxu
2018/05/10
7210
java怎么发起HttpRequest请求,返回状态码和内容并解析json
github地址:https://github.com/furtech/java_utils/blob/master/src/main/java/com/furtech/javautils/HttpRequestUtil.java 代码中有详细说明(就不过多解释了) 依赖如下: //codeStatus compile 'commons-httpclient:commons-httpclient:3.1' // entity and codeStatus (recommend
gfu
2019/08/28
3.5K0
post请求百度网址内容和访问本地springmvc工程controller
springmvc工程的下载地址:http://download.csdn.net/download/csdnliuxin123524/10001431
全栈程序员站长
2022/06/30
2750
Web服务器与客户端三种http交互方式
近期在对接项目时用到http方式与第三方交互数据,由于中间沟通不足导致走了不少弯路,至此特意花了点时间总结服务端与客户端数据交互的方式,本地搭建两个项目一个作为服务端,一个作为客户端。post可以有两种方式:一种与get一样,将请求参数拼接在url后面,这种服务端就以request.getParameter获取内容;另一种以流的方式写入到http链接中,服务端再从流中读取数据,在HttpURlConnection中分别用到了GET、POST请求方式,HttpClient以及commons-httpClient均以POST请求为例。
Jack Chen
2018/09/14
2.8K0
Web服务器与客户端三种http交互方式
推荐阅读
相关推荐
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档