1 Reply Latest reply on Jul 13, 2012 3:04 AM by patternman

    NullPointerException after completing human task

    patternman

      Hello,

       

           I faced NullPointerException after I complete human task. I'm using jBPM 5.3.0.FINAL

       

       

      Hibernate: select content0_.id as id535_0_, content0_.content as content535_0_ from Content content0_ where content0_.id=?
       java.lang.NullPointerException
       at org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler$GetResultContentResponseHandler.execute(CommandBasedWSHumanTaskHandler.java:364)
       at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)
       at org.jbpm.task.service.mina.MinaTaskClientHandler.messageReceived(MinaTaskClientHandler.java:47)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
       at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427)
       at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
       at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
       at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
       at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:715)
       at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668)
       at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657)
       at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68)
       at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1141)
       at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
       at java.lang.Thread.run(Thread.java:722)
      
      

       

      And I query the task from table Task, I found the status of the task has been changed to 'complete' but no other task been created (If the process continued it should create the next human task!)

       

      I use TaskClientWrapper ( download from GIT) to do as below:

       

      public void salesConfirmOperation(TaskSummary t, String userId) {
        client.start(t.getId(), userId);
        Map<String, Object> res = CommonUtil.newHashMap();
        res.put("salesManager", "adam");
        client.complete(t.getId(), userId, res);
       }
      

       

      Any hints/suggestiong would be appreciated!

       

      Thanks!

        • 1. Re: NullPointerException after completing human task
          patternman

          I tracked the problem eventually.

           

          I resolved the problem through using

           

          ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new CommondBaseWSHumanTaskHandler(ksession));

           

          instead of

           

          ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new CommondBaseWSHumanTaskHandler());