2 Replies Latest reply on Jul 31, 2012 4:46 PM by nbd

    jbpm5.3 error with deployed process accessed from jbpm-console

    nbd Newbie

      Hi,

       

      I have a demo installation of jbpm 5.3 and use the default embadded h2 database.

       

      I created a simple process that includes only one node - domain specific custom node that only prints to console. The whole process works fine under eclipse.

       

      I'm trying to access the process from jbpm console, so I modified CustomWorkItemHandlers.conf in the jbpm-gwt-console-server.war, to relate my custom node

      to appropriate handler and included the handler in the jbpm-gwt-console-server.war classpath and it seems the handler class is visible because I'm not getting

      classNotFoundException (concerning my handler class) in the server log any more.

       

      I included my bpmn so it's visible under jbpm-console.

       

      Now, when I log in jbpm-console I can see my process in the processes list, along with the demo Evaluation process. However when I clik on my process I'm getting:

       

      ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/gwt-console-server].[Resteasy]] (http-localhost-127.0.0.1-8080-5) Servlet.service() for servlet Resteasy threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException

                at org.jboss.resteasy.core.SynchronousDispatcher.unwrapException(SynchronousDispatcher.java:345) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:321) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:534) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.2.1.GA.jar:]

                at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59) [classes:]

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]

                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:480) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]

                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                at java.lang.Thread.run(Thread.java:619) [:1.6.0_11]

      Caused by: java.lang.NullPointerException

                at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89) [:1.6.0_11]

                at org.jbpm.persistence.processinstance.ProcessInstanceInfo.getProcessInstance(ProcessInstanceInfo.java:132) [jbpm-persistence-jpa-5.3.0.Final.jar:]

                at org.jbpm.persistence.processinstance.JPAProcessInstanceManager.getProcessInstance(JPAProcessInstanceManager.java:83) [jbpm-persistence-jpa-5.3.0.Final.jar:]

                at org.jbpm.process.instance.ProcessRuntimeImpl.getProcessInstance(ProcessRuntimeImpl.java:204) [jbpm-flow-5.3.0.Final.jar:]

                at org.drools.common.AbstractWorkingMemory.getProcessInstance(AbstractWorkingMemory.java:1100) [drools-core-5.4.0.Final.jar:]

                at org.drools.impl.StatefulKnowledgeSessionImpl.getProcessInstance(StatefulKnowledgeSessionImpl.java:297) [drools-core-5.4.0.Final.jar:]

                at org.drools.command.runtime.process.GetProcessInstanceCommand.execute(GetProcessInstanceCommand.java:48) [drools-core-5.4.0.Final.jar:]

                at org.drools.command.runtime.process.GetProcessInstanceCommand.execute(GetProcessInstanceCommand.java:25) [drools-core-5.4.0.Final.jar:]

                at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36) [drools-core-5.4.0.Final.jar:]

                at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:367) [drools-persistence-jpa-5.4.0.Final.jar:]

                at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.getProcessInstance(CommandBasedStatefulKnowledgeSession.java:125) [drools-core-5.4.0.Final.jar:]

                at org.jbpm.integration.console.CommandDelegate.getActiveNodeInstances(CommandDelegate.java:211) [jbpm-gwt-core-5.3.0.Final.jar:]

                at org.jbpm.integration.console.ProcessManagement.getProcessInstances(ProcessManagement.java:75) [jbpm-gwt-core-5.3.0.Final.jar:]

                at org.jboss.bpm.console.server.ProcessMgmtFacade.getInstancesJSON(ProcessMgmtFacade.java:192) [classes:]

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_11]

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_11]

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_11]

                at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_11]

                at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209) [resteasy-jaxrs-2.2.1.GA.jar:]

                at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519) [resteasy-jaxrs-2.2.1.GA.jar:]

                ... 24 more

       

      There is nothing more in the server log. How can I fix it to be able to start my process from the console?

        • 1. Re: jbpm5.3 error with deployed process accessed from jbpm-console
          Maciej Swiderski Master

          This looks like following issue: https://issues.jboss.org/browse/JBPM-3722 that in fact I can reproduce. Could you please comment on following:

          - what peristence.xml settings to you use - especially important hbm.ddl.auto

          - have you tried to clean up db and start fresh?

          - is there any other modification to the installed jbpm (using installer) then the CustomWorkItemsHandler.conf and putting handler on class path?

           

          Anything else you could think of for your environment.

           

          Cheers

          • 2. Re: jbpm5.3 error with deployed process accessed from jbpm-console
            nbd Newbie

            I've changed persistance for my local postgresql db and no longer have this issue, but concerning your questions - I've been using the default demo

            persistant settings.

             

            As for changes made to the system - I had issues with human task server and another one with no human task listed

            in jbpm-console and resolved it by changing taskorm.xml file in human task core 5.3 jar to the one from human task core 5.4.

            Another thing was configuring the human task server for to use mina implementation, localhost, port 1923.

            Before that, I was messing with starting many processes so maybe there was messed up data in the db, however

            I didn't know how to clean the embadded h2 database. I'm not  sure but I don't think I've made any more

            changes in the system