zdq白银四
2022-1-30 10:50:15 发布在问答
【管理与运维】 触发器
这个操作类怎么选呢  
C9AF11A3-AE85-46FB-A551-A8CE5303F046.jpeg
2976
4
精彩评论4
沧海婉婷铂金二
发表于 2022-1-30 10:57:38 显示全部楼层
自定义触发器需要提前开发类,这里写的是类名,可以在帮助文档中搜自定义触发器参考
回复

使用道具 2#

zdq白银四
发表于 2022-1-30 11:02:33 显示全部楼层
沧海婉婷 发表于 2022-1-30 10:57
自定义触发器需要提前开发类,这里写的是类名,可以在帮助文档中搜自定义触发器参考 ...

你有写好的类可以发我参考一下吗
回复

使用道具 3#

沧海婉婷铂金二
发表于 2022-1-30 11:06:20 显示全部楼层
zdq 发表于 2022-1-30 11:02
你有写好的类可以发我参考一下吗

不好意思,我目前没有,我问问其他人
回复

使用道具 4#

沧海婉婷铂金二
发表于 2022-1-30 11:39:24 显示全部楼层
zdq 发表于 2022-1-30 11:02
你有写好的类可以发我参考一下吗

请参考以下代码
/**
* 该方法抛出异常或者返回false时, 定时任务将停止执行.
* 该方法返回true时, 表示允许运行定时任务.
*/
@Override
public boolean canRun(SchedContext schedcontext) {
    // 获取用户输入的lastDate参数
    Date lastDate = (Date)getUserInputParam(schedcontext, "lastDate");
    // 如果lastData在现在之前, 则允许定时任务运行, 否则拦截.
    if(lastDate.before(new Date())) {
        return true;
    }

    return false;
}

/**
* 该方法用于获取用户的输入参数
* @param context {@link SchedContext}对象
* @param paramName 参数名
* @return 用户输入的参数
* @throws RuntimeException 如果参数为空
*/
private Object getUserInputParam(SchedContext schedcontext,String paramName){
    Parameter param = schedcontext.getParam(paramName);

    if(param == null || param.getValue() == null) {
        throw new RuntimeException("参数" + paramName + "为空");
    }

    return param.getValue();
}
回复

使用道具 5#

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
1500W

用户等你来哦

Copyright   ©2012-2025  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部