![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工具
喻神
随心而动
展开
-
一种带有超时功能的CompletableFuture异构任务并发工具
1、背景通常我们会有多个异构(异构:是指任务不同,返回结果也不同;同构:同一类型的任务,返回结果也相同)任务并发执行,且需要整合所有返回结果的场景。比如,构建一个商品信息,我需要知道商品的基础信息--标题、详描,还需要知道运费,以及库存等信息。这个3个服务,返回结果是异构的,而且没有关联,因此可以并发的去分别查询,然后汇总结果。我们很容易想到使用Java8里面的并发包CompletableFuture。可是我们调用外部服务时很有可能会超时,而CompletableFuture没有超时功能,为了服务间相互原创 2021-09-21 13:15:52 · 1532 阅读 · 0 评论 -
基于Gson的Http请求解析long型日期时出错的解决方案
在http的post方法中,我们通常使用Gson来实现对象和Json的相互转换。然而,原生的Gson在将包含Date类型对象序列化的过程中,会自动将Date类型转换为long型。此时若想反序列化对象,则Gson将会抛出一个JsonSyntaxException,表示解析失败。那么为什么会失败呢?通过查看源码可知,Gson默认的日期适配器DateTypeAdapter,只支持这种“yyyy-MM-d...原创 2018-06-26 00:11:23 · 2430 阅读 · 0 评论