Je veux planifier un événement dans Nuxeo IDE mais je reçois le java.lang.ClassCastException d'erreur:Comment faire un écouteur d'événement dans Nuxeo IDE
org.nuxeo.ecm.core.event.impl .EventContextImpl ne peut pas être converti en org.nuxeo.ecm.core.event.impl.DocumentEventContext.
Ma contribution planificateur est:
<?xml version="1.0"?>
<component name="org.nuxeo.sample.ScheduleCall" version="1.0">
<extension target="org.nuxeo.ecm.core.scheduler.SchedulerService"
point="schedule">
<schedule id="testschedule">
<username>Administrator</username>
<eventId>user_created</eventId>
<eventCategory>default</eventCategory>
<cronExpression>0 1 * * * ?</cronExpression>
</schedule>
</extension>
</component>
Ma contribution auditeur est:
<component name="org.nuxeo.sample.listener.contrib.ScheduleListener">
<extension target="org.nuxeo.ecm.core.event.EventServiceComponent"
point="listener">
<listener name="schedulelistener" async="false" postCommit="true"
class="org.nuxeo.sample.ScheduleListener" priority="140">
<event>user_created</event>
</listener>
</extension>
</component>
Ma classe java pour l'auditeur est:
/**
*
*/
package org.nuxeo.sample;
import org.nuxeo.ecm.core.event.EventListener;
import org.nuxeo.ecm.core.event.Event;
/**
* @author Parul.Puri01
*/
public class ScheduleListener implements EventListener {
public void handleEvent(Event event){
try{
if(event!=null && event.getName().equals("user_created")){
System.out.println("parul");
}
System.out.println("not an event");
}
catch (Exception e){
e.printStackTrace();
}
}
}
L'erreur est:
java.lang.ClassCastException: org.nuxeo.ecm.core.event.impl.EventContextImpl cannot be cast to org.nuxeo.ecm.core.event.impl.DocumentEventContext
at org.nuxeo.ecm.user.center.profile.localeProvider.UserLocaleSelectorListener.handleEvent(UserLocaleSelectorListener.java:43)
at org.nuxeo.ecm.core.event.impl.EventServiceImpl.fireEvent(EventServiceImpl.java:200)
at org.nuxeo.ecm.core.scheduler.EventJob.execute(EventJob.java:119)
at org.nuxeo.ecm.core.scheduler.EventJob.execute(EventJob.java:65)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2016-06-02 12:13:01,047 WARN [Nuxeo-Work-default-3] [org.nuxeo.ecm.platform.ec.notification.NotificationEventListener] Can not handle notification on a event that is not bound to a DocumentEventContext
S'il vous plaît laissez-moi savoir comment créer le point d'extension de l'écouteur dans Nuxeo IDE. Je le crée en tant qu'écouteur de document. Comment résoudre l'erreur?
Salut, j'ai essayé cela, mais face à la même erreur, peut vous aider avec l'erreur – Parul
Salut à nouveau, j'ai personnellement testé votre échantillon et il fonctionne très bien pour moi. Votre cronExpression (0 1 * * *?) Signifie toutes les heures à la première minute de l'heure ** par ex. 16h01, 17h01, 18h01, etc. ** qui ne correspond pas à l'horodatage de votre journal (** 2016-06-02 12: 13: 01,047 **) ce qui me conduit à penser que la pile n'est pas liée à votre planificateur mais autre chose. –
Salut, merci beaucoup .. mon nuxeo n'a pas été configuré .. maintenant c'est fait, donc cette erreur ne persiste pas .. mais je suis incapable d'obtenir une sortie.Pouvez-vous s'il vous plaît me fournir les informations si vous créez le programmateur comme composant nuxeo et l'écouteur comme écouteur de document .. voyez-vous aussi la sortie sur votre fenêtre eclipse? Votre aide est appréciée – Parul