Ich möchte ein Ereignis in Nuxeo IDE planen, aber ich erhalte den Fehler java.lang.ClassCastException:Wie ein Ereignis-Listener in Nuxeo IDE machen
org.nuxeo.ecm.core.event.impl .EventContextImpl kann nicht in org.nuxeo.ecm.core.event.impl.DocumentEventContext umgewandelt werden.
Mein Planer Beitrag:
<?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>
Mein Zuhörer Beitrag:
<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>
für Zuhörer Meine Java-Klasse ist:
/**
*
*/
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();
}
}
}
Der Fehler ist:
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
Bitte lassen Sie mich wissen, wie die Zuhörer Erweiterungspunkt in Nuxeo IDE zu erstellen. Ich erstelle es als Dokument Listener. Wie kann ich den Fehler beheben?
hallo, habe ich versucht, dies aber den gleichen Fehler konfrontiert, können Sie mit dem Fehler helfen, wieder – Parul
hallo, ich persönlich Ihre Probe getestet und es funktioniert gut für mich. Ihre cronExpression (0 1 * * *?) Bedeutet jede Stunde zur ersten Minute der Stunde **, z. 16h01, 17h01, 18h01, etc. ** was nicht mit dem Zeitstempel Ihres Logs übereinstimmt (** 2016-06-02 12: 13: 01.047 **) was mich zu der Annahme verleitet, dass der Stack nicht mit Ihrem Scheduler zusammenhängt etwas anderes. –
Hallo, vielen Dank .. mein Nuxeo war nicht konfiguriert..Nun ist es so, dass dieser Fehler nicht bestehen bleibt..aber ich bin nicht in der Lage, eine Ausgabe zu bekommen..kann bitte geben Sie mir die Informationen, wenn Sie erstellen Der Scheduler als nuxeo-Komponente und der Listener als Dokument-Listener. Sehen Sie auch die Ausgabe auf Ihrem Eclipse-Fenster? Deine Hilfe wird geschätzt – Parul