| | |
| | | private JobClient() {
|
| | | this.prefix = "/xxl-job-admin/";
|
| | | }
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 登录接口
|
| | | * @return 具体数据
|
| | | *
|
| | | */
|
| | | public boolean login() {
|
| | | String url = this.url + prefix + "login";
|
| | | Map<String, String> params = new LinkedHashMap<>();
|
| | |
| | | return success;
|
| | | }
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 参数转换
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | private boolean parse(JSONObject result) {
|
| | | boolean success = true;
|
| | | Integer code = result.getInteger(Constant.Code);
|
| | |
| | | return success;
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 保存jobGroup
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | public boolean saveJobGroup() {
|
| | | try {
|
| | | String url = this.url + prefix + "xxlcustapi/saveJobGroup";
|
| | |
| | | }
|
| | |
|
| | | }
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 保存自动获取ip的jobgroup
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | public boolean saveAutoJobGroup() {
|
| | | try {
|
| | | String url = this.url + prefix + "xxlcustapi/saveJobGroup";
|
| | | Map<String, String> params = new LinkedHashMap<>();
|
| | | params.put("appName","MDMApp");
|
| | | params.put("order", "1");
|
| | | params.put("title","数据汇集定时任务执行器");
|
| | | params.put("modelId","MDM");
|
| | | params.put("addressType","0");
|
| | | // params.put("addressList",local);
|
| | | String s = null;
|
| | | Map<String, Object> paramMap = new HashMap<>();
|
| | | paramMap.putAll(params);
|
| | | String urlParamsByMap = HttpUtils.getUrlParamsByMap(paramMap);
|
| | |
|
| | | s = HttpRestClient(url, HttpMethod.POST, null, urlParamsByMap, MediaType.APPLICATION_JSON);
|
| | |
|
| | | JSONObject result = (JSONObject) JSON.parse(s);
|
| | | boolean success = parse(result);
|
| | | if (!success){
|
| | | log.error("请求saveJobGroup失败:" + result.getString("msg"));
|
| | | }
|
| | | return success;
|
| | | }catch (Exception e){
|
| | | e.printStackTrace();
|
| | | return false;
|
| | | }
|
| | |
|
| | | }
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 删除自动获取ip的jobgroup
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | public boolean removeJobGroup() {
|
| | | try {
|
| | | String url = this.url + prefix + "xxlcustapi/saveJobGroup";
|
| | |
| | |
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 添加一个job
|
| | | * @param assemble 汇集任务
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | public boolean addJob(SysAssemble assemble) {
|
| | | try {
|
| | | String jobId = createJobId(assemble.getId());
|
| | |
| | | params.put("cronGen_display",assemble.getCron());
|
| | | params.put("executorBlockStrategy","DISCARD_LATER");
|
| | | params.put("executorTimeout","0");
|
| | | params.put("executorFailRetryCount","3");
|
| | | params.put("executorFailRetryCount","0");
|
| | | params.put("triggerStatus","1");
|
| | | params.put("glueType","BEAN");
|
| | | params.put("executorRouteStrategy","FIRST");
|
| | | params.put("jobDesc","创建汇集job");
|
| | | params.put("jobDesc","创建汇集job" + jobId);
|
| | | Map<String, Object> paramMap = new HashMap<>();
|
| | | paramMap.putAll(params);
|
| | | String urlParamsByMap = HttpUtils.getUrlParamsByMap(paramMap);
|
| | |
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 创建job id
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | private String createJobId(String id) {
|
| | | if (StringUtils.isEmpty(id)) {
|
| | | id = DbUtils.getUUID();
|
| | | }
|
| | | try {
|
| | | String jobId = "MDM-" + DbUtils.Bit16(id);
|
| | | String jobId = "MDM-" + id;
|
| | | return jobId;
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | return id;
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 更新job
|
| | | * @param assemble huiji renwu
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | public boolean updateJob(SysAssemble assemble) {
|
| | | try {
|
| | | String jobId = createJobId(assemble.getId());
|
| | | String url = this.url + prefix + "xxlcustapi/updateJob";
|
| | | Map<String, String> params = new LinkedHashMap<>();
|
| | | params.put("modelId","MDM");
|
| | |
| | | params.put("triggerStatus","1");
|
| | | params.put("glueType","BEAN");
|
| | | params.put("executorRouteStrategy","FIRST");
|
| | | params.put("jobDesc","更新汇集job");
|
| | | params.put("jobDesc","更新汇集job" + jobId);
|
| | | Map<String, Object> paramMap = new HashMap<>();
|
| | | paramMap.putAll(params);
|
| | | String urlParamsByMap = HttpUtils.getUrlParamsByMap(paramMap);
|
| | |
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 删除job
|
| | | * @param jobId job ID
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | public boolean deleteJob(String jobId) {
|
| | |
|
| | | try {
|
| | |
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 触发一次
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | public boolean trigger(SysAssemble assemble) {
|
| | | if (StringUtils.isEmpty(assemble.getJobId())) {
|
| | | return false;
|
| | |
| | |
|
| | | }
|
| | |
|
| | |
|
| | | /**
|
| | | *
|
| | | * @description: xxljob 使用的http请求工具方法
|
| | | * @return 是否请求成功
|
| | | *
|
| | | */
|
| | | private String HttpRestClient(String url, HttpMethod method, Map<String, String> formParams, String getParams, MediaType mediaType) {
|
| | | if (!StringUtils.isEmpty(getParams)) {
|
| | | url = url + Constant.QUESTION + getParams;
|