AnsweredAssumed Answered

AlfrescoJavascript ClassNotFoundException

Question asked by cytrix on May 12, 2009
Latest reply on May 13, 2009 by cytrix
Bonjour,

J'essaie de créer un workflow avancé déplaçant un document, mais lors de son exécution, j'ai une ClassNotFoundException sur la classe AlfrescoJavascript.
J'utilise Alfresco v3 et je travaille directement dans les répertoires C:\Alfresco3.1\tomcat\webapps\alfresco\WEB-INF\classes\alfresco pour ajouter de nouveaux workflows. Est-ce la bonne façon de faire ? Comment exécuter mon script javascript ?

Merci d'avance pour votre aide !

L'exception en question :
11:08:34,606 ERROR [org.jbpm.instantiation.Delegation] couldn't load delegation class 'org.alfresco.repo.workflow.jbpm.AlfrescoJavascript'
java.lang.ClassNotFoundException: class 'org.alfresco.repo.workflow.jbpm.AlfrescoJavascript' could not be found by the process classloader
   at org.jbpm.instantiation.ProcessClassLoader.findClass(ProcessClassLoader.java:118)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at org.jbpm.instantiation.Delegation.instantiate(Delegation.java:140)
   at org.jbpm.instantiation.Delegation.getInstance(Delegation.java:125)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
   at org.jbpm.instantiation.Delegation$$EnhancerByCGLIB$$f2fb00e8.getInstance(<generated>)
   at org.jbpm.graph.def.Action.execute(Action.java:121)
   at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
   at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:220)
   at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:190)
   at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:174)
   at org.jbpm.graph.def.Transition.take(Transition.java:138)
   at org.jbpm.graph.def.Node.leave(Node.java:394)
   at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:209)

Voici le bout de code dans mon processdefinition.xml :
<task-node name="approved">
        <task name="scwf:approvedTask" swimlane="initiator" />
        <transition name="" to="end">
           <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavascript">
              <script>
            logger.log("debut script js");
                 var wfRessources = bpm_package;
            logger.log("package recupere : " + wfRessources);
                 if (wfRessources != void) {
               logger.log("je rentre dans le if");
                    for (var i=0; i &lt; wfRessources.length; i++) {
                       var doc = wfRessources[i];
                       var myNode = companyhome.childByNamePath("docsValidés");
                       doc.move(myNode);
                    }
                 }
              </script>
           </action>
        </transition>
    </task-node>

Outcomes