Aem 如何使用resourceResolver在java中获得运行模式

Aem 如何使用resourceResolver在java中获得运行模式,aem,aem-6,Aem,Aem 6,我有一个OSGi服务,它只需要在发布实例中运行。当我只有resourceResolver而没有request时,如何在java中获取运行模式?要获取当前AEM实例正在使用的运行模式列表,可以在服务和/或servlet中使用SlingSettingService import org.apache.felix.scr.annotations.Component; import org.apache.sling.settings.SlingSettingsService; @Component p

我有一个OSGi服务,它只需要在发布实例中运行。当我只有resourceResolver而没有request时,如何在java中获取运行模式?

要获取当前AEM实例正在使用的运行模式列表,可以在服务和/或servlet中使用
SlingSettingService

import org.apache.felix.scr.annotations.Component;
import org.apache.sling.settings.SlingSettingsService;

@Component
public class MyService {

    @Reference
    private SlingSettingsService slingSettingsService;

    private boolean isPublish() {
        return this.slingSettingsService.getRunModes().contains("publish");
    }
}
见:

AEM 6.1:

AEM 6.2:

AEM 6.3:

AEM 6.4:

可能的副本