使用SAP BAS部署应用后客户端缓存未自动失效问题咨询
问题产生原因
这个差异来自SAP Web IDE和SAP Business Application Studio(BAS)部署Fiori/UI5应用到on-premise ABAP系统时,内置的部署流程逻辑不同,和应用本身代码无关:
- 原SAP Web IDE的on-premise部署任务默认绑定了ABAP前端服务器的自动缓存失效逻辑:部署流程在资源上传完成后,会自动触发后端更新BSP应用版本标识、刷新ICM服务器缓存、更新全局客户端缓存令牌,后续浏览器请求资源时,会从响应头拿到新的版本标识,自动拉取最新部署的资源,不需要人工干预。
- BAS默认的跨环境部署任务没有内置on-premise环境专属的自动缓存刷新步骤:BAS默认使用UI5 Tooling生态的部署插件完成应用上传,核心部署逻辑只负责将构建后的静态资源同步到目标BSP应用路径,不会自动调用
ui2/invalidate_client_caches对应的后端缓存失效接口,也不会主动更新全局客户端缓存令牌。部署完成后,浏览器持有的旧缓存令牌仍在有效期内,会直接读取本地缓存的旧版本资源,必须手动执行缓存失效操作才能拉取新版本。
补充说明:这个表现不是BAS的部署故障,是工具默认设计的取舍——BAS同时支持部署到ABAP On-Premise、ABAP Cloud、Cloud Foundry等多类目标环境,默认部署任务没有为单类环境绑定额外的后置操作,避免跨环境部署时产生非预期的副作用。
内容的提问来源于stack exchange,提问作者user6155404
相关产品推荐
相关产品推荐

