2016-09-23 6 views
2

У меня есть служба OSGi, которая должна запускаться только в экземпляре публикации. Как получить runmode в java, когда у меня есть только ресурсResolver, а не запрос?Как получить runmode в java с помощью resourceResolver

+4

Возможный дубликат [Определение RunMode в Adobe CQ] (http://stackoverflow.com/questions/12245751/определить,-RunMode-в-самана-сд) – Abhishek

ответ

4

Чтобы получить список режимов работы текущего экземпляра AEM, вы можете использовать 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: https://docs.adobe.com/docs/en/aem/6-1/ref/javadoc/org/apache/sling/settings/SlingSettingsService.html

AEM 6,2: https://docs.adobe.com/docs/en/aem/6-2/develop/ref/javadoc/org/apache/sling/settings/SlingSettingsService.html