2 Replies Latest reply on Apr 21, 2008 1:34 PM by chipschoch

    Failure instantiating custom ActionHandler

    chipschoch

      JBossAs 4.2.2.GA, jpdl 3.2.2

      Each time try to run my process it cannot load my action class. Looking at it in the debugger and it is trying to load it from the db. I included the action classes in a jar in the service archiveI deployed, not in the process definition. (Although when I added it to the process definition deployer it did not instantiate it either).

      I am not how to proceed. It used to work and now it doesn't and I don't know why.

      2008-04-18 15:12:40,097 ERROR [org.jbpm.instantiation.Delegation] couldn't load delegation class 'com.eLynx.jbpm.handler.MdbNodeHandler'
      java.lang.ClassNotFoundException: class 'com.eLynx.jbpm.handler.MdbNodeHandler' could not be found by the process classloader
      at org.jbpm.instantiation.ProcessClassLoader.findClass(ProcessClassLoader.java:118)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
      at org.jbpm.instantiation.Delegation.instantiate(Delegation.java:140)
      at org.jbpm.instantiation.Delegation.getInstance(Delegation.java:125)
      at sun.reflect.GeneratedMethodAccessor181.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
      at org.jbpm.instantiation.Delegation_$$_javassist_12.getInstance(Delegation_$$_javassist_12.java)
      at org.jbpm.graph.def.Action.execute(Action.java:121)
      at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
      at org.jbpm.graph.def.Action_$$_javassist_69.execute(Action_$$_javassist_69.java)
      at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
      at org.jbpm.graph.def.Node.execute(Node.java:339)
      at org.jbpm.graph.def.Node.enter(Node.java:319)
      at sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
      at org.jbpm.graph.def.Node_$$_javassist_55.enter(Node_$$_javassist_55.java)
      at org.jbpm.graph.def.Transition.take(Transition.java:151)
      at org.jbpm.graph.def.Node.leave(Node.java:394)
      at org.jbpm.graph.node.StartState.leave(StartState.java:70)
      at sun.reflect.GeneratedMethodAccessor174.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
      at org.jbpm.graph.def.Node_$$_javassist_55.leave(Node_$$_javassist_55.java)
      at org.jbpm.graph.exe.Token.signal(Token.java:195)
      at org.jbpm.graph.exe.Token.signal(Token.java:140)
      at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:271)
      at com.eLynx.jbpm.mdb.JbpmProcessBean.beginProcess(JbpmProcessBean.java:111)
      at com.eLynx.jbpm.mdb.JbpmProcessBean.onMessage(JbpmProcessBean.java:269)
      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:585)
      at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
      at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:495)
      at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
      at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
      at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:173)
      at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:47)
      at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:116)
      at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:109)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
      at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
      at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:402)
      at org.jboss.ejb.Container.invoke(Container.java:960)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:987)
      at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1287)
      at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:266)
      at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:159)
      at org.jboss.jms.client.container.SessionAspect.handleRun(SessionAspect.java:802)
      at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect14.invoke(SessionAspect14.java)
      at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
      at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
      at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
      at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
      at org.jboss.jms.client.delegate.ClientSessionDelegate.run(ClientSessionDelegate.java)
      at org.jboss.jms.client.JBossSession.run(JBossSession.java:199)
      at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
      at java.lang.Thread.run(Thread.java:595)


        • 1. Re: Failure instantiating custom ActionHandler
          salaboy21

          Can you show us how you package your process archive?
          o where your process definition is?
          I think it is only some class loader problem...

          • 2. Re: Failure instantiating custom ActionHandler
            chipschoch

            I found that I had moved jbpm-jpdl.jar into the server lib dir and also had it in my service archive. The jbpm code tries to load the handler class using the same loader that loaded the jbpm lib, which was the root loader, not my services loader which was a descendant of that one. When it did not find it it tried to get it from the database. When I removed the jar from the server lib directory then it found my code because the same class loader loaded jbpm that loaded mine.