当前位置: 首页 > news >正文

网站优化的方法与技巧济南三合一网站建设

网站优化的方法与技巧,济南三合一网站建设,正能量网站免费入口不用下载,大连市网站制作电话文章目录 引言使用 OkHttp 发送回调其他 引言 记录一下 OkHttp 的使用;OkHttp 异步发送回调请求,增加回调失败重试。 使用 OkHttp 发送回调 /*** 回调重试类*/ Data public class CallBackRetryData {/*** 回调信息JSON*/private JSONObject bodyRequ…

文章目录

    • 引言
    • 使用 OkHttp 发送回调
    • 其他

引言

记录一下 OkHttp 的使用;OkHttp 异步发送回调请求,增加回调失败重试。

使用 OkHttp 发送回调

/*** 回调重试类*/
@Data
public class CallBackRetryData {/*** 回调信息JSON*/private JSONObject bodyRequest;/*** 回调发送地址*/private String url;/*** 重试次数*/private int time;public CallBackRetryData(JSONObject bodyRequest, String url, int time) {this.bodyRequest = bodyRequest;this.url = url;this.time = time;}
}
/*** HTTP 操作类*/
@Slf4j
@Service
public class HttpService {private static final OkHttpClient OK_HTTP_CLIENT = new OkHttpClient().newBuilder().connectTimeout(1, TimeUnit.MINUTES).readTimeout(1, TimeUnit.MINUTES).writeTimeout(1, TimeUnit.MINUTES).build();/*** 回调重试队列*/private final Queue<CallBackRetryData> VERIFY_QUEUE = new LinkedList<>();/*** 构造回调信息*/public void buildCallBackData() {JSONObject bodyRequest = new JSONObject();bodyRequest.put("userId", "123456789");CallBackRetryData retryData = new CallBackRetryData(bodyRequest, "https://发送回调地址", 1);sendCallBack(retryData);}/*** 异步发送回调*/public void sendCallBack(CallBackRetryData retryData) {RequestBody requestBody = RequestBody.create(retryData.getBodyRequest().toJSONString(), MediaType.parse("application/json;charset=utf-8"));Request request = new Request.Builder().url(retryData.getUrl()).post(requestBody).addHeader("content-type", "application/x-www-form-urlencoded").build();OK_HTTP_CLIENT.newCall(request).enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {log.error("[回调失败][call:{}]", e.getMessage());// 回调次数+1retryData.setTime(retryData.getTime() + 1);// 放入验证队列VERIFY_QUEUE.offer(retryData);}@Overridepublic void onResponse(Call call, Response response) throws IOException {String responseData = response.body().string();CallBackResponseData callBackData = JSONObject.parseObject(responseData, CallBackResponseData.class);if (callBackData.getCode() != 200) {log.error("[回调失败][状态码错误:{}]", callBackData);// 回调次数+1retryData.setTime(retryData.getTime() + 1);// 放入验证队列VERIFY_QUEUE.offer(retryData);}}});}/*** 每分钟检查一次*/@Scheduled(cron = "0 0/1 * * * ? ")public void execute() {// 执行超时验证队列while (VERIFY_QUEUE.size() > 0) {CallBackRetryData retryData = VERIFY_QUEUE.poll();// 重新发送if (retryData.getTime() <= 3) {try {log.info("[VERIFY_QUEUE][userId:{}][time:{}]",retryData.getBodyRequest().getString("userId"),retryData.getTime());sendBonusCallBack(retryData);} catch (Exception e) {log.error("[VERIFY_QUEUE error: {}]", e.getMessage());}}}}
}

其他

Java OkHttp使用

http://www.yayakq.cn/news/900318/

相关文章:

  • 怎么用ftp修改网站企业推广策略
  • 做外贸网站代理商wordpress不提示系统更新
  • 金融适合什么颜色做网站金融公司网站模版
  • 网站开发+搜索龙华和龙岗哪个繁华
  • 苏州网站建设丨好先生科技360网页怎么制作
  • 服装 公司 网站建设storefront wordpress
  • 淘宝客怎么做网站导购提交网站收录入口
  • 什么博客可以做网站国外搜索引擎入口
  • 郑州网站设计 郑州网站开发建设百度网站
  • 建设网站需要提供什么资料湖北省住房和建设厅网站首页
  • 北京房山网站建设有没有免费制作视频的软件
  • 网站内链优化自己怎么拍做美食视频网站
  • 学校网站建设需要注意什么网站建设需要哪些步骤
  • 做网站绑定域名 解析域名搜索引擎优化方法有哪些
  • 个人做网站设计企业首页模板
  • 怎么做网站公司宣传资料108社区找工作
  • 制作网站需要哪些素材国内免费服务器地址
  • 网站建设活动方案查询公司信息的网站
  • 网站编程培训哪好自建营销型网站模板
  • 昆明网站建设公司哪家好小型网站开发小论文
  • 信誉好的网站建设案例中建豪城建设有限公司网站
  • 互联网网站开发用哪个语言开发wordpress 插件 样式
  • 建站用企业级主机好还是服务器汕头市公司网站建设多少钱
  • 网站建设文翻译工作江门网站制作
  • 网站iis配置郑州微信网站建设
  • 厦门网站个人制作企业网站哪家做得好
  • 唐山网站制作专业房产网查询备案
  • 宿迁做网站建设的公司wordpress导航站模版
  • 本地网站asp iisc2c平台二手车
  • 济南模板网站树莓派做博客网站