【问题标题】:how to call sling model only once如何只调用一次吊索模型
【发布时间】:2018-11-08 09:16:57
【问题描述】:

假设我有一个组件 A 和组件 B。 在组件 A 中,我正在编写 html 文件

   data-sly-use.head="com.Mymodel"

现在在组件B中我也需要使用相同的类,所以在html文件中我已经写了

   data-sly-use.head="com.Mymodel"

组件 A 和组件 B 可以在一个页面中可用,也可能一次不可用。我想要的是,如果页面中同时存在组件 A 和 B,那么我不想初始化 Sling 模型(com.Mymodel)两次。我只想初始化一次。怎么做?

【问题讨论】:

  • 我想知道为什么?这是纯粹的性能问题吗?还是有其他原因?不要误会我的意思,您可以按照答案的建议使用 sling 模型缓存,我只是想知道您的实现是否出于其他原因需要模型的一个实例。

标签: aem


【解决方案1】:

看看 Sling 模型缓存。这正是你想要的,只要它可以从 Resource 中适应。

https://sling.apache.org/documentation/bundles/models.html#caching

您只需在模型注释中指定cache=true

@Model(adaptable = SlingHttpServletRequest.class, cache = true)
public class ModelClass {
   ...
}

【讨论】:

    猜你喜欢
    • 2019-02-08
    • 2019-03-07
    • 2014-09-28
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-20
    • 1970-01-01
    相关资源
    最近更新 更多