JEPaaS 社区

 找回密码
 立即注册
JEPaaS低代码平台-官网
查看: 2555|回复: 1

定时任务:怎么自定义方法实现

[复制链接]

54

主题

77

帖子

354

积分

管理员

JEPaaS专家

Rank: 9Rank: 9Rank: 9

积分
354
发表于 2021-7-20 09:34:39 | 显示全部楼层 |阅读模式
怎么自定义方法编写一个定时
回复

使用道具 举报

54

主题

77

帖子

354

积分

管理员

JEPaaS专家

Rank: 9Rank: 9Rank: 9

积分
354
 楼主| 发表于 2021-7-20 09:44:21 | 显示全部楼层
一、实现效果
自定义方法实现定时任务

二、实现思路
1:创建一个接口文件,并编写实现类
2:配置定时任务,在自定义Bean配置上类名与实现方法

三、具体操作

1:创建一个接口文件,一个接口的实现类
下载 (1).png

2:在定时任务中,配置'执行Bean'与‘执行方法’
下载.png
3:保存执行


四、相关代码

  1. package com.project.demo.service;

  2. import com.je.task.vo.TimedTaskParamsVo;

  3. /**
  4. *  定时任务
  5. */
  6. public interface DemoTimedService {

  7.     /**
  8.      * 无参定时任务
  9.      */
  10.     void doTimingQuery();

  11.     /**
  12.      * 有参数定时任务
  13.      *  taskId               实例ID
  14.      *  taskName             实例名称
  15.      *  fireTime             开始时间
  16.      *  Map(String、String)  自定义参数(arg0、arg1)
  17.      * @param paramsVo 传入的参数
  18.      */
  19.     void doTimingQuery(TimedTaskParamsVo paramsVo);

  20. }
复制代码
  1. package com.project.demo.service;

  2. import com.je.core.service.MetaService;
  3. import com.je.core.util.bean.DynaBean;
  4. import com.je.task.vo.TimedTaskParamsVo;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Component;

  7. import java.util.Date;
  8. import java.util.Map;

  9. @Component("demoTimedService")
  10. public class DemoTimedServiceImpl implements DemoTimedService {

  11.     @Autowired
  12.     private MetaService metaService;

  13.     /**
  14.      *  页面操作
  15.      *  进入定时任务界面,创建,
  16.      *  填写基本信息,
  17.      *  执行策略:如果SQL直接能满足需求,直接选择执行SQL即可,如若不能满足,选择执行方法
  18.      *  执行Bean:demoTimedService
  19.      *  执行方法:doTask
  20.      *  执行次数:看具体情况
  21.      *  参数:看具体情况
  22.      */
  23.     /**
  24.      * 无参定时任务
  25.      */
  26.     @Override
  27.     public void doTimingQuery() {
  28.         //直接获取DynaBean,
  29. //        DynaBean bean = new DynaBean("表编码", true);
  30.         //进行数据的赋值或者修改操作
  31. //        bean.set("CSB_BM", 111);
  32. //        bean.set("CSB_MC", 222);
  33.         //调用修改方法,修改
  34. //        metaService.update(bean);
  35.         System.out.println("无参数定时任务执行完...........");
  36.     }

  37.     /**
  38.      * 有参数定时任务
  39.      *  taskId               实例ID
  40.      *  taskName             实例名称
  41.      *  fireTime             开始时间
  42.      *  Map(String、String)  自定义参数(arg0、arg1)
  43.      * @param paramsVo 传入的参数
  44.      */
  45.     @Override
  46.     public void doTimingQuery(TimedTaskParamsVo paramsVo) {
  47.         //获取实例ID
  48. //        String taskId = paramsVo.getTaskId();
  49. //        //获取自定义参数
  50. //        Map<String, String> params = paramsVo.getParams();
  51. //        String arg0 = params.get("arg0"); //获取第一个参数
  52. //        String arg1 = params.get("arg1"); //获取第二个自定义参数
  53. //        //如果想修改其他表中的数据,先获取表信息,然后修改相应的字段插入就行了
  54. //        DynaBean bean = new DynaBean("表编码", true);
  55. //        //比如创建日期大于设定的日期多少天,数据为过期数据
  56. //        metaService.executeSql("update psi_csb set SY_STATUS='{0}' where '"+ new Date() +"' - SY_CREATETIME > '{1}'",0,arg0);
  57.         System.out.println("有参数定时任务执行完...........");
  58.     }

  59. }
复制代码

五、总结
自己写代码
六、关键字
定时任务






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-5-5 08:18 , Processed in 0.061920 second(s), 23 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表