2

パブリッシュ インスタンスでのみ実行する必要がある OSGi サービスがあります。resourceResolver しかなく request がない場合、Java で runmode を取得するにはどうすればよいですか?

4

1 に答える 1

9

現在の 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

AEM 6.3: https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/reference-materials/javadoc/org/apache/sling/settings/SlingSettingsService.html

AEM 6.4: https://helpx.adobe.com/experience-manager/6-4/sites/developing/using/reference-materials/javadoc/org/apache/sling/settings/SlingSettingsService.html

于 2016-09-23T17:12:52.180 に答える