给xxl-job的cookie加缓存

pull/62/head
leesin9527 11 months ago
parent 3ef3a7b5b9
commit 847d74b324

@ -37,6 +37,10 @@ public class XxlJobConstant {
* () * ()
*/ */
public static final Integer DELAY_TIME = 10; public static final Integer DELAY_TIME = 10;
/**
* xxl-job-admin cookie
*/
public static final String COOKIE_PREFIX = "xxl_job_cookie_";
private XxlJobConstant() { private XxlJobConstant() {
} }

@ -2,6 +2,7 @@ package com.java3y.austin.cron.xxl.service.impl;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@ -14,7 +15,9 @@ import com.java3y.austin.cron.xxl.entity.XxlJobInfo;
import com.java3y.austin.cron.xxl.service.CronTaskService; import com.java3y.austin.cron.xxl.service.CronTaskService;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.net.HttpCookie; import java.net.HttpCookie;
@ -39,6 +42,9 @@ public class CronTaskServiceImpl implements CronTaskService {
@Value("${xxl.job.admin.addresses}") @Value("${xxl.job.admin.addresses}")
private String xxlAddresses; private String xxlAddresses;
@Autowired
private StringRedisTemplate redisTemplate;
@Override @Override
public BasicResultVO saveCronTask(XxlJobInfo xxlJobInfo) { public BasicResultVO saveCronTask(XxlJobInfo xxlJobInfo) {
@ -65,6 +71,7 @@ public class CronTaskServiceImpl implements CronTaskService {
log.error("CronTaskService#saveTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e) log.error("CronTaskService#saveTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e)
, JSON.toJSONString(xxlJobInfo), JSON.toJSONString(returnT)); , JSON.toJSONString(xxlJobInfo), JSON.toJSONString(returnT));
} }
invalidateCookie();
return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT)); return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT));
} }
@ -87,6 +94,7 @@ public class CronTaskServiceImpl implements CronTaskService {
log.error("CronTaskService#deleteCronTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e) log.error("CronTaskService#deleteCronTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e)
, JSON.toJSONString(params), JSON.toJSONString(returnT)); , JSON.toJSONString(params), JSON.toJSONString(returnT));
} }
invalidateCookie();
return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT)); return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT));
} }
@ -109,6 +117,7 @@ public class CronTaskServiceImpl implements CronTaskService {
log.error("CronTaskService#startCronTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e) log.error("CronTaskService#startCronTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e)
, JSON.toJSONString(params), JSON.toJSONString(returnT)); , JSON.toJSONString(params), JSON.toJSONString(returnT));
} }
invalidateCookie();
return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT)); return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT));
} }
@ -131,6 +140,7 @@ public class CronTaskServiceImpl implements CronTaskService {
log.error("CronTaskService#stopCronTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e) log.error("CronTaskService#stopCronTask fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e)
, JSON.toJSONString(params), JSON.toJSONString(returnT)); , JSON.toJSONString(params), JSON.toJSONString(returnT));
} }
invalidateCookie();
return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT)); return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT));
} }
@ -156,6 +166,7 @@ public class CronTaskServiceImpl implements CronTaskService {
log.error("CronTaskService#getGroupId fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e) log.error("CronTaskService#getGroupId fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e)
, JSON.toJSONString(params), JSON.toJSONString(response.body())); , JSON.toJSONString(params), JSON.toJSONString(response.body()));
} }
invalidateCookie();
return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(response.body())); return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(response.body()));
} }
@ -177,6 +188,7 @@ public class CronTaskServiceImpl implements CronTaskService {
log.error("CronTaskService#createGroup fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e) log.error("CronTaskService#createGroup fail,e:{},param:{},response:{}", Throwables.getStackTraceAsString(e)
, JSON.toJSONString(params), JSON.toJSONString(returnT)); , JSON.toJSONString(params), JSON.toJSONString(returnT));
} }
invalidateCookie();
return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT)); return BasicResultVO.fail(RespStatusEnum.SERVICE_ERROR, JSON.toJSONString(returnT));
} }
@ -186,6 +198,11 @@ public class CronTaskServiceImpl implements CronTaskService {
* @return String * @return String
*/ */
private String getCookie() { private String getCookie() {
String cachedCookie = redisTemplate.opsForValue().get(XxlJobConstant.COOKIE_PREFIX + xxlUserName);
if (StrUtil.isNotBlank(cachedCookie)) {
return cachedCookie;
}
Map<String, Object> params = MapUtil.newHashMap(); Map<String, Object> params = MapUtil.newHashMap();
params.put("userName", xxlUserName); params.put("userName", xxlUserName);
params.put("password", xxlPassword); params.put("password", xxlPassword);
@ -201,6 +218,7 @@ public class CronTaskServiceImpl implements CronTaskService {
for (HttpCookie cookie : cookies) { for (HttpCookie cookie : cookies) {
sb.append(cookie.toString()); sb.append(cookie.toString());
} }
redisTemplate.opsForValue().set(XxlJobConstant.COOKIE_PREFIX + xxlUserName, sb.toString());
return sb.toString(); return sb.toString();
} }
} catch (Exception e) { } catch (Exception e) {
@ -209,4 +227,11 @@ public class CronTaskServiceImpl implements CronTaskService {
} }
return null; return null;
} }
/**
* cookie
*/
private void invalidateCookie() {
redisTemplate.delete(XxlJobConstant.COOKIE_PREFIX + xxlUserName);
}
} }

Loading…
Cancel
Save