2016-04-20 5 views
0

erstellen Ich möchte ein AEM-Workflow-Modell programmatisch aufgrund der Geschäftsanforderungen erstellen, und ich verwendete unten Code, um es zu implementieren, aber es löst eine Ausnahme, hat dieses Problem für eine Woche gequält. Könntest du bitte ein paar Hinweise geben? Danke im Voraus.wie Workflow-Modell programmgesteuert in Aem

Der Code ist unten!

Das Fehlerprotokoll ist unten!

20.04.2016 17:35:24.054 *INFO* [JobHandler: /etc/workflow/instances/2016-04-20/model_27918689599044:/content/samplemms/2016/02/index] com.adobe.granite.workflow.core.WorkflowSessionImpl Workflow model deployed: /etc/workflow/models/sample_mms_topic_owner_175(Version: 1.0) 
20.04.2016 17:35:36.015 *ERROR* [JobHandler: /etc/workflow/instances/2016-04-20/model_27918689599044:/content/samplemms/2016/02/index] com.day.cq.workflow.compatibility.CQWorkflowProcessRunner Process execution resulted in an error: null 
java.lang.NullPointerException: null 
at com.adobe.granite.workflow.core.model.WorkflowModelImpl.createTransition(WorkflowModelImpl.java:155) 
at com.adobe.granite.workflow.core.model.WorkflowModelImpl.createTransition(WorkflowModelImpl.java:149) 
at com.day.cq.workflow.impl.model.CQWorkflowModelWrapper.createTransition(CQWorkflowModelWrapper.java:145) 
at com.sample.mms.workflow.TopicOwnerHandleProcessStep.execute(TopicOwnerHandleProcessStep.java:105) 
at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93) 
at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:215) 
at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:140) 
at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:365) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 
20.04.2016 17:35:36.015 *ERROR* [JobHandler: /etc/workflow/instances/2016-04-20/model_27918689599044:/content/samplemms/2016/02/index] com.adobe.granite.workflow.core.job.JobHandler Process execution resulted in an error 
com.adobe.granite.workflow.WorkflowException: Process execution resulted in an error 
at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:225) 
at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:140) 
at org.apache.sling.event.jobs.JobUtil$1.run(JobUtil.java:365) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: com.adobe.granite.workflow.WorkflowException: Failed to execute process 
at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:108) 
at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:215) 
... 5 common frames omitted 
Caused by: java.lang.NullPointerException: null 
at com.adobe.granite.workflow.core.model.WorkflowModelImpl.createTransition(WorkflowModelImpl.java:155) 
at com.adobe.granite.workflow.core.model.WorkflowModelImpl.createTransition(WorkflowModelImpl.java:149) 
at com.day.cq.workflow.impl.model.CQWorkflowModelWrapper.createTransition(CQWorkflowModelWrapper.java:145) 
at com.sample.mms.workflow.TopicOwnerHandleProcessStep.execute(TopicOwnerHandleProcessStep.java:105) 
at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93) 
... 6 common frames omitted 
+0

Wie Logs 'wm.createTransition();' wirft null Zeigerausnahme, es scheint diese Methode ruft intern 'createTransition (WorkflowNode von, WorkflowNode zu, String-Regel)' durch die Weitergabe von Null und irgendwo zu brechen. Überraschenderweise [JavaDocs] (https://docs.adobe.com/docs/en/aem/6-0/develop/ref/javadoc/com/adobe/granite/workflow/model/WorkflowModel.html#createTransition()) sind Keine Beschreibung, wird als "TODO" erwähnt –

+0

Hast du das in [adobe forums] angesprochen (http://help-forums.adobe.com/content/adobeforums/de/experience-manager-forum/adobe-experience- Manager.html)? Nicht sicher, was der Zweck dieser API 'wm.createTransition()' ist, wo Sie die übergehenden Knoten nicht angeben. – Abhishek

+0

Danke für Ihren Rat, ich werde dies in Adobe-Foren erhöhen. Ich vermisse die Übergangsknoten in der Frage, ich habe versucht, die übergangsknoten angeben und createTransition (WorkflowNode von, WorkflowNode zu, String-Regel) -Methode in meinem Projekt aufrufen, aber es wirft auch die gleiche Ausnahme, also tue ich nicht denke, das ist die Ursache. –

Antwort

0

Statt com.day.cq.workflow APIs, können Sie versuchen, die com.adobe.granite.workflow APIs.