<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      java pipeline

      文檔

      java pipeline

      pipeline又稱為管道,是一種在計算機普遍使用的技術。管道模式設計其實和責任鏈模式很像,都是按照順序往下執行不同的方法,管道只是負責順序執行,不管是否執行不同方法。
      推薦度:
      導讀pipeline又稱為管道,是一種在計算機普遍使用的技術。管道模式設計其實和責任鏈模式很像,都是按照順序往下執行不同的方法,管道只是負責順序執行,不管是否執行不同方法。

      java pipeline是什么,讓我們一起了解一下?

      pipeline又稱為管道,是一種在計算機普遍使用的技術。在分布式處理領域,由于管道模式是數據驅動,而目前流行的Spark分布式處理平臺也是數據驅動的,兩者非常合拍,于是在spark的新的api里面pipeline模式得到了廣泛的應用。還有java web中的struct的filter、netty的pipeline,無處不見pipeline模式。

      管道模式設計其實和責任鏈模式很像,都是按照順序往下執行不同的方法,管道只是負責順序執行,不管是否執行不同方法。

      管道入口:

      Map?context?=?new?HashMap<>();
      ????????????????context.put("BusinessType",?BusinessType.CREDIT_FLOW.getBusinessType());
      ????????????????context.put("CheckType",?CertificateBusinessTypeEnum.THREE_ELEMENTS.name());
      ????????????????context.put("ZaUser",?user);
      ????????????????context.put("RequestParam",?relavants);
      ????????????????//管道入口
      ????????????????context?=?certificateElementService.checkAdmittance(context);
      ????????????????JSONObject?jsonObject?=?(JSONObject)?context.get("ResponseParam");

      AaaThreeElementsCheckValve?的實現:

      @Component("aaaThreeElementsCheckValve")
      public?class?AaaThreeElementsCheckValve?extends?AbstractLogableValve?{
      ?
      ????@Autowired
      ????private?ICodeLibraryService?codeLibraryService;
      ????@Autowired
      ????private?IJunYuCertificateService?junYuCertificateService;
      ?
      ????@Override
      ????public?void?handle(Map?context,?ValveChain?chain)?throws?I18NSupportException?{
      ????????String?checkType?=?context.get("CheckType").toString();
      ????????//aaa的校驗不通過,直接執行下一個
      ????????if?(!Objects.equals(CertificateBusinessTypeEnum.THREE_ELEMENTS.name(),?checkType))?{
      ????????????chain.handleNext(context);
      ????????}
      ????????//執行aaa的代碼邏輯
      ?????????if?(Objects.equals(CertificateResponseLevelEnum.FORBIDDEN.getCode(),?finalLevel))?{
      ????????????//aaa處理了請求,返回
      ????????????????return;
      ??????????}
      ????????????//放開,讓bbb去處理
      ????????????chain.handleNext(context);
      ????????}?catch?(Exception?e)?{
      ????????????logger.error("駿聿三要素接口異常:",?e);
      ????????????I18NSupportException.Builder?builder?=?new?I18NSupportException.Builder();
      ????????????builder.setTargetObject(this);
      ????????????builder.setMessage(e.getMessage());
      ????????????throw?builder.build();
      ????????}
      ????}
      }

      BbbThreeElementsCheckValve?的實現:

      @Component("bbbThreeElementsCheckValve")
      public?class?BbbThreeElementsCheckValve?extends?AbstractLogableValve?{
      ?
      ????@Autowired
      ????private?ICodeLibraryService?codeLibraryService;
      ????@Autowired
      ????private?IShuJuBaoCreditService?shuJuBaoCreditService;
      ?
      ????@Override
      ????public?void?handle(Map?context,?ValveChain?chain)?throws?I18NSupportException?{
      ?
      ????????JSONObject?jsonObject?=?(JSONObject)?context.get("ResponseParam");
      ????????if?(Objects.equals(Integer.valueOf(jsonObject.get(WebUtil.JSON_RESULT_STATUS_CODE).toString()),?WebUtil.ERROR))?{
      ????????????//aaa三要素接口已強控,因此不繼續調用bbb三要素接口,也不調用后續閥門進行校驗
      ????????}?else?{
      ????????????ZaUser?user?=?(ZaUser)?context.get("ZaUser");
      ????????????Object?requestParam?=?context.get("RequestParam");
      ????????????List?relavants?=?JSON.parseArray(JSON.toJSONString(requestParam),?CustomerCreditRelavant.class);
      ????????????CodeLibrary?codeLibrary?=?codeLibraryService.queryLibraryNoException("shujubaoCompanyIdAndCobankId",?user.getCompanyId()?+?"-"?+?relavants.get(0).getInquryBankId());
      ????????????if?(Objects.nonNull(codeLibrary))?{
      ????????????????String?s?=?shuJuBaoCreditService.sjbThreeElmentVerify(relavants);
      ????????????????if?(StringUtils.isNotBlank(s))?{
      ????????????????????jsonObject.put(WebUtil.JSON_RESULT_STATUS_CODE,?WebUtil.ERROR);
      ????????????????????jsonObject.put(WebUtil.JSON_RESULT_DATA,?JSONObject.toJSONString(s));
      ????????????????}
      ????????????}else{
      ????????????????//bbb三要素校驗通過,調用后續閥門進行校驗
      ????????????????chain.handleNext(context);
      ????????????}
      ????????}
      ????}
      }

      以上就是小編今天的分享了,希望可以幫助到大家。

      文檔

      java pipeline

      pipeline又稱為管道,是一種在計算機普遍使用的技術。管道模式設計其實和責任鏈模式很像,都是按照順序往下執行不同的方法,管道只是負責順序執行,不管是否執行不同方法。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      java rsa公鑰加密 java rsa私鑰加密 java rtp java runnable java runtime.exec java rxjava java sandbox java script java selector java selenium java semaphore java separator java sequence java serializable java serializable接口 java serialversionuid java setlayout java platform java settimeout java plug-in java ping java phoenix java paypal java path java rsa加密 java rotate java reverse java reverse() java retrofit java resume java resultset java result java rest java requests java partial java request java parser java repeat java parse java pandas
      Top 少妇高潮太爽了在线视频