我有一个OSGi服务,只需要在发布实例中运行。当我只有resourceResolver而没有请求时,如何在java中获取runmode? p>
答案 0 :(得分:5)
要获取当前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");
}
}
见: