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

点金网站建设最好的网络推广方式

点金网站建设,最好的网络推广方式,做网站编辑好还是推广好,装修案例效果图场景 SpringbootFastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文): SpringbootFastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文)-CSDN博客 Java中ExecutorService线程池的使用(Runnable和Callable多…

场景

Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文):

Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文)-CSDN博客

Java中ExecutorService线程池的使用(Runnable和Callable多线程实现):

Java中ExecutorService线程池的使用(Runnable和Callable多线程实现)_executorservice executorservice = executors.newfix-CSDN博客

Java中创建线程的方式以及线程池创建的方式、推荐使用ThreadPoolExecutor以及示例:

Java中创建线程的方式以及线程池创建的方式、推荐使用ThreadPoolExecutor以及示例_threadpoolexecutor创建线程-CSDN博客

在上面的基础上,需要使用定时任务高频调用典第三方http接口并解析返回的json数据为java的list,需要对

list的每个数据进行处理,这里需要用到自定义线程池对每个java对象分别进行处理。

注:

博客:
霸道流氓气质_C#,架构之路,SpringBoot-CSDN博客

实现

1、首先在配置文件中添加第三方接口的url

这里是yml文件

​
test:#测试多线程请求http接口并解析数据http-request-executor:url: http://127.0.0.1:4523/m1/2858210-0-default/testFastJson​

2、新建定时任务类

使用@PostConstruct注解初始化需要的数据,比如获取配置文件中的接口的url以及初始化线程池

    @PostConstructpublic void initData() {HttpRequestExecutorTestHandler.newFixedThreadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() / 2);url = Objects.requireNonNull(environment.getProperty("test.http-request-executor.url"));}

这里读取配置文件需要引入

    @Resourceprivate Environment environment;

然后新建定时任务调用接口,并解析接口返回的json数据,将响应的data字段传给

具体处理数据的类

​@Scheduled(fixedRateString = "1000")public void taskGetData() {String body = "";try {body = HttpRequest.get("http://127.0.0.1:4523/m1/2858210-0-default/testFastJson").timeout(20000).execute().body();UserResDTO userResDTO = JSON.parseObject(body, UserResDTO.class);if (userResDTO.getCode() != null && 200!=userResDTO.getCode()) {//错误处理}else {JSONArray data = userResDTO.getData();if (StringUtils.isEmpty(data)) {return;}handler.handleData(data);}} catch (Exception e) {}}​

定时任务类完整实例代码

​
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.test.dto.UserResDTO;
import com.ruoyi.web.handle.HttpRequestExecutorTestHandler;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.Objects;
import java.util.concurrent.Executors;@Component("HttpRequestExecutorTestTask")
@EnableScheduling
public class HttpRequestExecutorTestTask {private String url;@Resourceprivate Environment environment;@Resourceprivate HttpRequestExecutorTestHandler handler;/*** 初始化URL数据*/@PostConstructpublic void initData() {HttpRequestExecutorTestHandler.newFixedThreadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() / 2);url = Objects.requireNonNull(environment.getProperty("test.http-request-executor.url"));}@Scheduled(fixedRateString = "1000")public void taskGetData() {String body = "";try {body = HttpRequest.get("http://127.0.0.1:4523/m1/2858210-0-default/testFastJson").timeout(20000).execute().body();UserResDTO userResDTO = JSON.parseObject(body, UserResDTO.class);if (userResDTO.getCode() != null && 200!=userResDTO.getCode()) {//错误处理}else {JSONArray data = userResDTO.getData();if (StringUtils.isEmpty(data)) {return;}handler.handleData(data);}} catch (Exception e) {}}
}​

3、上面具体进行业务处理的类

import com.alibaba.fastjson.JSONArray;
import com.ruoyi.system.domain.test.dto.UserDTO;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.ExecutorService;@Component
public class HttpRequestExecutorTestHandler {public static ExecutorService newFixedThreadPool;public void handleData(JSONArray data) {List<UserDTO> userDTOS = data.toJavaList(UserDTO.class);for (UserDTO userDTO:userDTOS) {newFixedThreadPool.execute(() -> mapperApiData(userDTO));}}//具体业务处理private void mapperApiData(UserDTO userDTO){System.out.println(userDTO);}}

将接收到的data字段解析成java的list,然后遍历list,每个对象用一个线程具体去处理。

附接口示例数据

{"code": "200","data": [{"id": "63","name": "学指约思但","time_cur": "2009-07-23 02:14:52","地址": "minim sint commodo nisi"},{"id": "19","name": "下农前清时相","time_cur": "2013-10-16 17:32:09","地址": "ullamco aliqua"},{"id": "57","name": "米见放层张圆","time_cur": "2015-10-20 18:40:42","地址": "dolor minim et qui"}]
}

4、运行效果

http://www.shuangfujiaoyu.com/news/24826.html

相关文章:

  • 怎么样做国外推广网站百度关键词挖掘工具爱站网
  • 网站备案更换主体郑州网站公司哪家好
  • 公司电子商务网站建设规划方案企业营销型网站有哪些
  • IC 网站建设百度关键词分析
  • 精湛的中山网站建设上海网络推广渠道
  • vb.net做网站宁波超值关键词优化
  • 网站开发维护费计入什么科目东莞关键词优化实力乐云seo
  • wordpress网站显示不全网络营销有哪些推广方式
  • 网站做代理服务器博客程序seo
  • wordpress提交评论卡死武汉seo报价
  • 做门面商铺比较好的网站软文营销的作用有哪些
  • 网站url命名规则把百度网址大全设为首页
  • 学雷锋 做美德少年网站排位及资讯
  • 微商可以做网站推广吗sem账户托管外包
  • 大学生做网站赚钱流程竞价推广账户竞价托管费用
  • 系统难还是网站设计难做杭州优化建筑设计
  • 长春有几个火车站网络推广营销方案100例
  • 重庆网站建设加q.4791857001小时快速搭建网站
  • 开发网站教程elo机制
  • 一个公司的网站怎么做的珠海seo推广
  • 苏州微网站开发国际羽联最新排名
  • 做家装家居网站yahoo搜索引擎
  • 深圳做h5网站设计域名是什么意思呢
  • 阿里主机 wordpress抖音优化公司
  • 泉州有哪些做网站的搜索优化
  • 购物网站建设款流程百度域名购买
  • 2023新闻摘抄10条如何优化网络速度
  • 马鞍山网站建设价格企业网站建设cms
  • 广州住房城乡建设委网站seo综合查询站长工具怎么用
  • 毕设 网站开发的必要性在线网站建设