활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
Hi,
I am trying to invoke event handler after page activation. Event handler is invoking for all activation's(like image,file and page) but I need to invoke handler when I activate pages from specific paths. I am using OSGI annotations not felix. Below is my code snippet
@component(immediate = true, service = EventHandler.class, property = {
EventConstants.EVENT_TOPIC + "=" + ReplicationAction.EVENT_TOPIC,
EventConstants.EVENT_FILTER + "(" + ReplicationAction.PROPERTY_PATH + "=/content/mypage/*)"
})
public class SimpleDSComponent implements Runnable, EventHandler {
private Logger log = LoggerFactory.getLogger(this.getClass());
public void handleEvent(Event event) {
String n[] = event.getPropertyNames();
log.info("Replication action: {} on {}", event.getProperty(ReplicationAction.PROPERTY_TYPE), event.getProperty(ReplicationAction.PROPERTY_PATH));
// log.info("Event occurred: {}", event.getProperty(WorkflowEvent.EVENT_TYPE));
log.info("Event properties: ");
for(String s : n) {
log.info(s + " = " + event.getProperty(s));
}
ReplicationAction action = ReplicationAction.fromEvent(event);
if(action != null) {
log.info("Replication action {} occured on {} ", action.getType().getName(), action.getPath());
}
log.info("");
}
When I use event filter handler is not invoking for any activation. I am suspecting event filter definition is wrong.
Can you please help me out how can I write filter with multiple paths.
Thanks,
Sathish
해결되었습니다! 솔루션으로 이동.
조회 수
답글
좋아요 수
Hi,
It should work, I tried with below, it worked for me
https://github.com/arunpatidar02/aem63app-repo/blob/master/java/ReplicationEvent2.java
조회 수
답글
좋아요 수
Try once by replacing EventConstants.EVENT_FILTER + "(" + ReplicationAction.PROPERTY_PATH + "=/content/mypage/*)"
to
EventConstants.EVENT_FILTER + "=(" + ReplicationAction.PROPERTY_PATH + "=/content/mypage/*)"
or
EventConstants.EVENT_FILTER + "=(" + SlingConstants.PROPERTY_PATH) + "=/content/mypage/*)"
Regards
Albin I
Hi,
It should work, I tried with below, it worked for me
https://github.com/arunpatidar02/aem63app-repo/blob/master/java/ReplicationEvent2.java
조회 수
답글
좋아요 수
Hi Arun,
Thank you for your Reply.
Now handler is activating but it is activating for all pages and images irrespective of path. How can I restrict it.
@component(immediate = true, service = EventHandler.class, property = {
EventConstants.EVENT_TOPIC + "=" + ReplicationAction.EVENT_TOPIC,
EventConstants.EVENT_FILTER + "path=/content/mypage/en/help/*"
})
Thanks,
Sathish
조회 수
답글
좋아요 수
조회 수
답글
좋아요 수
조회 수
답글
좋아요 수
조회 수
Likes
답글
조회 수
Likes
답글