AEM侦听捆绑注册

AEM侦听捆绑注册,aem,Aem,我知道我可以使用JCR EventListener来检查节点上的更改。我还知道OSGi捆绑包实现了一个ServiceListener接口,可以让他们知道捆绑包何时被注册或停止 我想我有点接近了,但我似乎无法把这些点联系起来。如何在AEM中部署可以侦听其他捆绑包ServiceEvent更改的捆绑包?您的用例是什么?你需要一张支票还是一张支票 在这种情况下,您可能需要扩展BundleTracker/ServiceTracker,并在添加xxxxxx/Modifiedxxxxx/removedxxxx

我知道我可以使用JCR EventListener来检查节点上的更改。我还知道OSGi捆绑包实现了一个ServiceListener接口,可以让他们知道捆绑包何时被注册或停止


我想我有点接近了,但我似乎无法把这些点联系起来。如何在AEM中部署可以侦听其他捆绑包ServiceEvent更改的捆绑包?

您的用例是什么?你需要一张支票还是一张支票

在这种情况下,您可能需要扩展BundleTracker/ServiceTracker,并在添加xxxxxx/Modifiedxxxxx/removedxxxxxx方法时处理您的逻辑


您可以查看一些示例,您的用例是什么?你需要一张支票还是一张支票

在这种情况下,您可能需要扩展BundleTracker/ServiceTracker,并在添加xxxxxx/Modifiedxxxxx/removedxxxxxx方法时处理您的逻辑


您可以查看一些示例,是的,您是对的。您可以使用Felix EventAdmin收听OSGi事件

您可以通过以下几句话找到规范:

  • 首先,您需要实现接口EventHandler
  • 注册主题为org/osgi/framework/BundleEvent/STARTED的事件处理程序
  • 在文档中,它们不使用注释,但如果在项目中使用maven scr插件,则可以使用注释。您的代码可能如下所示:

    @Component
    @Service(value = EventHandler.class)
    @Property(name = EventConstants.EVENT_TOPIC, value = { ReplicationAction.EVENT_TOPIC })
    public class YourEventHandler implements EventHandler {
    
        @Override
        public void handleEvent(Event event) {
            // do smth with event
        }
    }
    

    是的,你说得对。您可以使用Felix EventAdmin收听OSGi事件

    您可以通过以下几句话找到规范:

  • 首先,您需要实现接口EventHandler
  • 注册主题为org/osgi/framework/BundleEvent/STARTED的事件处理程序
  • 在文档中,它们不使用注释,但如果在项目中使用maven scr插件,则可以使用注释。您的代码可能如下所示:

    @Component
    @Service(value = EventHandler.class)
    @Property(name = EventConstants.EVENT_TOPIC, value = { ReplicationAction.EVENT_TOPIC })
    public class YourEventHandler implements EventHandler {
    
        @Override
        public void handleEvent(Event event) {
            // do smth with event
        }
    }