AEM:getSlingScriptHelper()。getService返回null

时间:2018-03-29 11:29:37

标签: aem sightly

我正在尝试在我的项目中使用getSlingScriptHelper()。getService但它一直返回null。我已经在其他项目中完成了这个,并且实现类似。我们正在项目中使用AEM 6.3。我的代码如下:

FOOModel

  public class FOOModel extends WCMUsePojo {

private static final Logger LOGGER = LoggerFactory.getLogger(FOOModel.class);

        private String foo;


        @Override
        public void activate() throws Exception{

            FOOInterface fooInterface = getSlingScriptHelper().getService(FOOInterface.class);   

        LOGGER.info("FOOInterface value is : " + fooInterface);

        }

        public String getFoo() {        
            return foo;
        }

    }

FooInterface

public interface FOOInterface {

    public String getFoo();

}

FOO实施

@Component(metatype = true, immediate = true, label = "FOO Configuration", description = "OSGi Configuration FOO")
@Service(FOOInterface.class)
public class FOOImpl implements FOOInterface {


    @Property(label = "FOO", description = "FOO to be provided")
    public static final String FOO_URL = "foo.url";


    private String foo;



    @Activate
    public void activate(ComponentContext componentContext){
        Dictionary<?, ?> props = componentContext.getProperties();
        this.foo = PropertiesUtil.toString(props.get(FOO_URL), StringUtils.EMPTY);

    }

    @Override
    public String getSsoUrl() {
        return foo;
    }


}

日志显示&#34; FOOInterface值为:null&#34;。

我已经尝试了使用类注入方法的吊索模型,但它也没有用。

编辑:我发现该服务未激活。附加捆绑包状态的屏幕截图。 Bundle status

1 个答案:

答案 0 :(得分:1)

很可能您的FOOInterface服务无效。您可以查看/system/console/components以查看其状态。

可能未正确安装包含该服务的捆绑包。您可以在/system/console/bundles

查看其状态