zoukankan      html  css  js  c++  java
  • SAP UI5 Negative cache的工作原理

    I am testing my Fiori extension project created based on SAP standard Fiori application “My Opportunity” and I meet with error message “Error: found in negative cache: ‘cus/crm/opportunityExt/Component.js’ from /sap/bc/ui5_ui5/sap/extcrm_opp/Component.js: Error: found in negative cache: ‘cus/crm/opportunity/Component.js’ from /sap/bc/ui5_ui5/ui2/ushell/resources/cus/crm/opportunity/Component.js: 404 – NOT FOUND” when I click tile of my Extension project in Fiori launchpad:


    Issue analysis

    put mouse onto the hyperlink part of the topmost callstack, “at a1…”, the mouse becomes a hand shape:

    click it, and Chrome will bring us to the exact code where this error occurs. Click the bracket icon to format the code:

    Now the reason of this “negative cache” is clear: there is a global array M which stores all currently loaded modules with their url and state. Since the module to be loaded when I click the tile of my extension project, “cus.crm.opportunity.Component.js”, has error state ( 5 ), the corresponding error is raised.

    Why this Component.js file is needed when I click the tile

    from the callstack we can find the answer:

    (1) UI controller has a method openApp, which will call render method.

    (2) render method will further delegate the call to load component via sap.ui.component.load:

    What is negative cache

    Let me copy the definition from wikipedia:

    In computer programming, negative cache is a cache that also stores “negative” responses, i.e. failures. This means that a program remembers the result indicating a failure even after the cause has been corrected. Usually negative cache is a design choice, but it can also be a software bug.

    I am glad today I know a new terminology.

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    梯度消失、爆炸原因及其解决方法(转)
    Learning to Rank for IR的评价指标—MAP,NDCG,MRR
    tensorflow中使用指定的GPU及GPU显存 CUDA_VISIBLE_DEVICES
    深度学习 weight initialization
    python 第三方包安装
    列表操作 -深拷贝与浅拷贝
    python排序 sorted()与list.sort() (转)
    Python 第三方库 cp27、cp35 等文件名的含义(转)
    Learning to Rank(转)
    Spring MVC异常处理
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13631605.html
Copyright © 2011-2022 走看看