中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

wordpress縮略圖thumb貴州seo技術(shù)查詢(xún)

wordpress縮略圖thumb,貴州seo技術(shù)查詢(xún),建設(shè)銀行網(wǎng)站啊,杭州專(zhuān)門(mén)做網(wǎng)站在微服務(wù)的開(kāi)發(fā)中,我們經(jīng)常需要服務(wù)之間的調(diào)用,并且為了提高效率使用異步的方式進(jìn)行服務(wù)之間的調(diào)用,在這種異步的調(diào)用情況下會(huì)有一個(gè)嚴(yán)重的問(wèn)題,丟失上文下 通過(guò)以上圖片可以看出異步丟失上下文的原因是不在同一個(gè)線(xiàn)程&#xff0c…

在微服務(wù)的開(kāi)發(fā)中,我們經(jīng)常需要服務(wù)之間的調(diào)用,并且為了提高效率使用異步的方式進(jìn)行服務(wù)之間的調(diào)用,在這種異步的調(diào)用情況下會(huì)有一個(gè)嚴(yán)重的問(wèn)題,丟失上文下

通過(guò)以上圖片可以看出異步丟失上下文的原因是不在同一個(gè)線(xiàn)程,所有數(shù)據(jù)不能共享,Wie了解決這個(gè)問(wèn)題,我們就需要把之前線(xiàn)程的請(qǐng)求頭上下文,在次存放到其他線(xiàn)程的請(qǐng)求頭上下文就行,具體實(shí)現(xiàn)如下:

?

案例:feign異步獲取訂單明細(xì)的案例代碼

/*** 獲取訂單明細(xì)的vo* @return*/@Overridepublic OrderConfirmVo orderConfirm() {MemberResponseVo member = OrderInterceptor.threadLocal.get();OrderConfirmVo orderConfirmVo = new OrderConfirmVo();System.out.println("主線(xiàn)程:"+ Thread.currentThread().getId());//獲取主線(xiàn)程的請(qǐng)求頭信息RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();//考慮到效率問(wèn)題  使用異步編排CompletableFuture<Void> getAddress = CompletableFuture.runAsync(() -> {//子線(xiàn)程中設(shè)置添加主線(xiàn)程的請(qǐng)求頭信息  信息共享  否則遠(yuǎn)程調(diào)用異步處理丟失請(qǐng)求頭信息RequestContextHolder.setRequestAttributes(requestAttributes);System.out.println("address:"+ Thread.currentThread().getId());//遠(yuǎn)程獲取地址信息List<MemberAddressVo> address = memberFeignService.getAddress(member.getId());orderConfirmVo.setAddress(address);}, executor);CompletableFuture<Void> getItem = CompletableFuture.runAsync(() -> {//子線(xiàn)程中設(shè)置添加主線(xiàn)程的請(qǐng)求頭信息  信息共享  否則遠(yuǎn)程調(diào)用異步處理丟失請(qǐng)求頭信息RequestContextHolder.setRequestAttributes(requestAttributes);System.out.println("item:"+ Thread.currentThread().getId());//遠(yuǎn)程獲取購(gòu)物項(xiàng)List<OrderItemVo> currentUserCartItems = cartFeignService.getCurrentUserCartItems();orderConfirmVo.setItems(currentUserCartItems);}, executor).thenRunAsync(()->{List<OrderItemVo> items = orderConfirmVo.getItems();//獲取所有商品的idList<String> collect = items.stream().map(item -> item.getSkuId()).collect(Collectors.toList());List<Long> skuIds = collect.stream().map(item -> {return Long.parseLong(item);}).collect(Collectors.toList());R<List<SkuHasStockVo>> skusHasStock = wmsFeignService.getSkusHasStock(skuIds);List<SkuHasStockVo> data = skusHasStock.getData(new TypeReference<List<SkuHasStockVo>>() {});if(data!= null){Map<Long, Boolean> collect1 = data.stream().collect(Collectors.toMap(SkuHasStockVo::getSkuId, SkuHasStockVo::getHasStock));orderConfirmVo.setStocks(collect1);}},executor);//異步編排完成之后執(zhí)行后續(xù)操作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令牌儲(chǔ)存在redisString token = UUID.randomUUID().toString().replace("-", "");orderConfirmVo.setOrderToken(token);redisTemplate.opsForValue().set(OrderConstant.ORDER_TOKEN+member.getId(),token);return orderConfirmVo;}

?

http://www.risenshineclean.com/news/53813.html

相關(guān)文章:

  • 貿(mào)易公司寮步網(wǎng)站建設(shè)哪家好友情鏈接出售平臺(tái)
  • 貴陽(yáng)網(wǎng)站制作策劃無(wú)錫網(wǎng)站seo
  • easyui 做的網(wǎng)站關(guān)鍵詞優(yōu)化心得
  • 手機(jī)怎么免費(fèi)建網(wǎng)站專(zhuān)業(yè)seo培訓(xùn)
  • 簡(jiǎn)述營(yíng)銷(xiāo)導(dǎo)向的企業(yè)網(wǎng)站建設(shè)的步驟seo的英文全稱(chēng)是什么
  • 怎么做好網(wǎng)站開(kāi)發(fā)_設(shè)計(jì)怎么做百度網(wǎng)頁(yè)推廣
  • 網(wǎng)站開(kāi)發(fā)如何修改字體不限制內(nèi)容的搜索引擎
  • 制作app需要網(wǎng)站嗎品牌策略
  • 亦莊公司做網(wǎng)站做網(wǎng)站的軟件叫什么
  • 做網(wǎng)站的能賺多少錢(qián)shopify seo
  • 網(wǎng)站建設(shè)有名的公司自己怎么開(kāi)發(fā)app軟件
  • 做網(wǎng)站銷(xiāo)售水果常用網(wǎng)站推廣方法及資源
  • 做電商網(wǎng)站一般需要什么流程可以免費(fèi)推廣的網(wǎng)站
  • 菏澤做網(wǎng)站公司精準(zhǔn)客源引流平臺(tái)
  • 做網(wǎng)站使用什么語(yǔ)言寫(xiě)簡(jiǎn)述網(wǎng)站內(nèi)容如何優(yōu)化
  • 網(wǎng)站排名系統(tǒng)哪個(gè)好深圳防疫措施優(yōu)化
  • 寧鄉(xiāng)網(wǎng)站建設(shè)外貿(mào)營(yíng)銷(xiāo)網(wǎng)站制作
  • 網(wǎng)站建設(shè)行業(yè)動(dòng)態(tài)重慶森林電影完整版
  • 做網(wǎng)站前景怎么樣推廣賺錢(qián)的平臺(tái)有哪些
  • 網(wǎng)站和其他系統(tǒng)對(duì)接怎么做seo項(xiàng)目是什么
  • 網(wǎng)站開(kāi)發(fā)技術(shù)發(fā)展史網(wǎng)絡(luò)營(yíng)銷(xiāo)方案策劃論文
  • 廣宏建設(shè)集團(tuán)有限公司網(wǎng)站重慶網(wǎng)絡(luò)seo
  • 武漢網(wǎng)站設(shè)計(jì)的學(xué)校網(wǎng)絡(luò)營(yíng)銷(xiāo)一般月薪多少
  • 四省網(wǎng)站建設(shè)如何設(shè)計(jì)網(wǎng)站步驟
  • 企業(yè)網(wǎng)站建立喬拓云智能建站
  • 手機(jī)asp網(wǎng)站開(kāi)發(fā)工具拼多多關(guān)鍵詞排名在哪里看
  • 一站式服務(wù)平臺(tái)登錄網(wǎng)站策劃方案案例
  • 網(wǎng)站主體信息俄羅斯搜索引擎入口 yandex
  • 中國(guó)紀(jì)檢監(jiān)察報(bào)網(wǎng)站關(guān)鍵詞查詢(xún)工具
  • 保險(xiǎn)網(wǎng)站建設(shè)的總體目標(biāo)seo優(yōu)化交流