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

版式设计模板网站营销网络建设将给三夫户外带来哪些有益的影响?

版式设计模板网站,营销网络建设将给三夫户外带来哪些有益的影响?,淘宝客模板wordpress,苏州高端网站设计定制在微服务的开发中#xff0c;我们经常需要服务之间的调用#xff0c;并且为了提高效率使用异步的方式进行服务之间的调用#xff0c;在这种异步的调用情况下会有一个严重的问题#xff0c;丢失上文下 通过以上图片可以看出异步丢失上下文的原因是不在同一个线程#xff0c…在微服务的开发中我们经常需要服务之间的调用并且为了提高效率使用异步的方式进行服务之间的调用在这种异步的调用情况下会有一个严重的问题丢失上文下 通过以上图片可以看出异步丢失上下文的原因是不在同一个线程所有数据不能共享Wie了解决这个问题我们就需要把之前线程的请求头上下文在次存放到其他线程的请求头上下文就行具体实现如下 案例feign异步获取订单明细的案例代码 /*** 获取订单明细的vo* return*/Overridepublic OrderConfirmVo orderConfirm() {MemberResponseVo member OrderInterceptor.threadLocal.get();OrderConfirmVo orderConfirmVo new OrderConfirmVo();System.out.println(主线程 Thread.currentThread().getId());//获取主线程的请求头信息RequestAttributes requestAttributes RequestContextHolder.getRequestAttributes();//考虑到效率问题 使用异步编排CompletableFutureVoid getAddress CompletableFuture.runAsync(() - {//子线程中设置添加主线程的请求头信息 信息共享 否则远程调用异步处理丢失请求头信息RequestContextHolder.setRequestAttributes(requestAttributes);System.out.println(address Thread.currentThread().getId());//远程获取地址信息ListMemberAddressVo address memberFeignService.getAddress(member.getId());orderConfirmVo.setAddress(address);}, executor);CompletableFutureVoid getItem CompletableFuture.runAsync(() - {//子线程中设置添加主线程的请求头信息 信息共享 否则远程调用异步处理丢失请求头信息RequestContextHolder.setRequestAttributes(requestAttributes);System.out.println(item Thread.currentThread().getId());//远程获取购物项ListOrderItemVo currentUserCartItems cartFeignService.getCurrentUserCartItems();orderConfirmVo.setItems(currentUserCartItems);}, executor).thenRunAsync(()-{ListOrderItemVo items orderConfirmVo.getItems();//获取所有商品的idListString collect items.stream().map(item - item.getSkuId()).collect(Collectors.toList());ListLong skuIds collect.stream().map(item - {return Long.parseLong(item);}).collect(Collectors.toList());RListSkuHasStockVo skusHasStock wmsFeignService.getSkusHasStock(skuIds);ListSkuHasStockVo data skusHasStock.getData(new TypeReferenceListSkuHasStockVo() {});if(data! null){MapLong, Boolean collect1 data.stream().collect(Collectors.toMap(SkuHasStockVo::getSkuId, SkuHasStockVo::getHasStock));orderConfirmVo.setStocks(collect1);}},executor);//异步编排完成之后执行后续操作try {CompletableFuture.allOf(getAddress,getItem).get();} catch (InterruptedException e) {e.printStackTrace();} catch (ExecutionException e) {e.printStackTrace();}orderConfirmVo.setIntegration(member.getIntegration());orderConfirmVo.setPayPrice(orderConfirmVo.getPayPrice());orderConfirmVo.setTotal(orderConfirmVo.getTotal());//TODO 放重处理 生成token令牌储存在redisString token UUID.randomUUID().toString().replace(-, );orderConfirmVo.setOrderToken(token);redisTemplate.opsForValue().set(OrderConstant.ORDER_TOKENmember.getId(),token);return orderConfirmVo;}
http://www.hkea.cn/news/14446715/

相关文章:

  • 浙江高端网站重庆市城乡建设施工安全管理总站网站
  • 单位网站建设的重要性上海网站建站
  • 长沙网站推广平台批量更新wordpress文章
  • 网站建设总结ppt山东平台网站建设平台
  • 做网站带源码软件-dw门户网站宣传方案
  • .net 企业网站源码网站规划的解释
  • 公司内部网站开发兰溪好品质高端网站设计
  • 网站布局设计怎么写网站做视频的软件有哪些
  • 郑州模板建站多少钱网站建设套模板下载
  • 美工需要的网站电子商务网站建设第一章课后
  • 昆明网上商城网站建设有做网站维护的
  • 怎样建个网站网站推广优化排名教程
  • 手机网站开发基础盘锦做网站电话
  • 软件开发 网站建设 游戏开发seo网站案例
  • 网站开发项目报告书专业竞价托管哪家好
  • 网站单页面可以做302跳转吗手机网站免费生成
  • html网页源码下载湖南有实力的关键词优化
  • 适合穷人的18个创业项目太原优化网站排名
  • 安徽网站建设公司哪家好推荐好用的浏览器
  • 上海大型网站建设织梦cms同步wordpress
  • 微信网站模板广州做网站费用
  • 陇西网站建设 室内设计企业营销的网站
  • 太原模板建站平台网站上放个域名查询
  • 成都摄影网站建设wordpress有哪些小工具
  • 长沙市制作企业网站公司石家庄市住房城乡建设局网站
  • 专门做win7的网站手机棋牌游戏平台
  • 重庆网站建设哪家公司哪家好网页界面设计想法
  • 龙岗网站建设排名骏域网络科技有限公司
  • 12306网站建设团队网站开发提案
  • 柳州市住房和城乡建设部网站海尔的网络营销模式