确定Adobe CQ中的运行模式

如何以编程方式知道实例正在运行的运行模式?我创建了一个根据实例运行模式提供配置的自定义标签,但是我无法确定当前的运行模式.
我发现一个返回run-mods实例列表的方法:

SlingSettings settings = ...get from BundleContext...
Set<String> currentRunModes = settings.getRunModes();

但是我无法获取SlingSettings或BundleContext对象.如何获取这些对象或者还有另一种获取当前运行模式的方法?

SlingSetttings是正确的方法 – 如果来自Java,最简单的方法是在SCR @Component类中使用SCR @Reference注释,可以避免您通过BundleContext.

如果它来自Sling脚本,可以使用sling.getService(….)获取SlingSettings.

请注意,您需要阅读运行模式的情况是罕见的,通常您更希望将OSGi配置设置为依赖于运行模式,并使OSGi组件基于此修改其行为.

相关文章
相关标签/搜索