在AEM重新启动之前,对OSGi包的更改无效

时间:2016-07-22 11:25:10

标签: maven osgi aem apache-felix

我在AEM / Apache Felix内部的OSGi包内运行了一个吊索 Servlet (和各种其他组件)。

例如:

@SlingServlet(
        label = "XXXX - SSO Post Servlet",
        metatype = true,
        methods = {"POST"},
        name = "XXXX.core.components.SlingPostServlet",
        paths = {"/services/SSOPost"}
)
public class SlingPostServlet extends SlingAllMethodsServlet {
  //etc

我的组件按预期工作,maven能够构建,捆绑和部署整个项目。

我的问题是,在重新启动整个AEM实例之前,我的组件更新才会激活。我尝试刷新OSGi包,重新启动捆绑包,以及尽可能多的UI动作来实现这种效果,但我没想到,但没有运气。

有什么想法吗?我希望它是一个我不知道的简单配置问题/按钮。

感谢。

2 个答案:

答案 0 :(得分:0)

捆绑包已启动但事件可能未处于活动状态。它应该在实际使用服务时激活。我们可以使用@Component(immediate=true)注释在bundle开始时激活组件

答案 1 :(得分:0)

首先尝试删除旧jar,然后部署新jar。这在大多数时候都适用于我,但并非总是如此。