[jboss-user] [JBoss jBPM] - jboss error with servlet and jbpm-console

ashishc do-not-reply at jboss.com
Wed Jul 16 11:20:18 EDT 2008


Hi All,
I created a simple workflow with one node which just prints out the message. I deployed this in jbpm using eclipse and then tested it through the UI..http://localhost:8080/jbpm-console and all looks good.

here is the WF xml

<?xml version="1.0" encoding="UTF-8"?>
  | <process-definition xmlns="urn:jbpm.org:jpdl-3.2"
  | 	name="first-demo-process">
  | 	<start-state name="start-state1">
  | 		<transition to="node1"></transition>
  | 	</start-state>
  | 	<node name="node1">
  | 		<action class="com.sample.action.MessageActionHandler">
  | 			<message>ashish sending message1</message>
  | 		</action>
  | 		<transition to="end-state1"></transition>
  | 	</node>
  | 	<end-state name="end-state1"></end-state>
  | </process-definition>

Now I created a servlet and deployed that, which hopefully will invoke the WF described above..here is the code for that..

package com.ashish.test;
  | 
  | import java.io.IOException;
  | import java.io.PrintWriter;
  | import javax.servlet.ServletException;
  | import javax.servlet.http.HttpServlet;
  | import javax.servlet.http.HttpServletRequest;
  | import javax.servlet.http.HttpServletResponse;
  | 
  | import java.util.HashMap;
  | import org.jbpm.JbpmConfiguration;
  | import org.jbpm.JbpmContext;
  | import org.jbpm.db.GraphSession;
  | import org.jbpm.graph.def.ProcessDefinition;
  | import org.jbpm.graph.exe.ProcessInstance;
  | 
  | public class WFTriggerServlet extends HttpServlet {
  |     /** 
  |     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
  |     * @param request servlet request
  |     * @param response servlet response
  |     */
  |     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  |     throws ServletException, IOException {
  |         response.setContentType("text/html;charset=UTF-8");
  |         PrintWriter out = response.getWriter();
  |         try {
  |             out.println("inside processRequest function");
  |             out.println(startProcess(16, "first-demo-process", null, null, true));
  |             out.println("Ending call");
  |         } finally { 
  |             out.close();
  |         }
  |     } 
  | 
  |     public long startProcess(long processId, String processName, String key, HashMap processVariables, boolean signalStart) {
  |         long tokenId = 0;
  |         JbpmConfiguration jbpmConfig = null;
  |         JbpmContext jbpmContext = null;
  |         try {
  |             
  |             if (jbpmConfig == null) {
  |                 jbpmConfig = JbpmConfiguration.getInstance();
  |             }
  |             jbpmContext = jbpmConfig.createJbpmContext();
  |         } catch (Exception e) {
  |             return -1; //e.getMessage().toString();
  |         }
  |         try {
  |             // get the session and process definition according to the process id
  |             GraphSession graphSession = jbpmContext.getGraphSession();
  | 
  |             ProcessDefinition processDefinition = null;
  |             if (processName.length() > 0) {
  |                 processDefinition = graphSession.findLatestProcessDefinition(processName);
  |             } else {
  |                 processDefinition = graphSession.getProcessDefinition(processId);
  |             }
  | 
  |             // if there are no process variables, then create an empty variable list
  |             if (processVariables == null) {
  |                 processVariables = new HashMap();
  |             }
  |             // startup the process, set its business key (for correlation purposes, and 
  |             // signal it to start going with the flow
  |             ProcessInstance processInstance = processDefinition.createProcessInstance(processVariables);
  | 
  |             processInstance.setKey(key);
  |             tokenId = processInstance.getRootToken().getId();
  |             if (signalStart) {
  |                 processInstance.signal();
  |             }
  |         } finally {
  |             jbpmContext.close();
  |         }
  |         return tokenId;
  |     }
  | }
  | 

I copied the .war file for the servlet to /opt/software/jbpm-jpdl-3.2.3/server/server/jbpm/deploy/

and i see this on the console...

09:57:20,150 INFO  [TomcatDeployer] deploy, ctxPath=/WFTrigger, warUrl=.../tmp/deploy/tmp21005WFTrigger-exp.war/
  | 09:57:20,697 INFO  [WebappClassLoader] validateJarFile(/opt/software/jbpm-jpdl-3.2.3/server/server/jbpm/./tmp/deploy/tmp21005WFTrigger-exp.war/WEB-INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

Now when I try to hit http://localhost:8080/jbpm-console/sa/processes.jsf I am not able to view the JBPM page also and am getting this error on the console...

09:58:29,248 INFO  [STDOUT] 09:58:29,248 INFO  [JbpmConfiguration] using jbpm configuration resource 'jbpm.cfg.xml'
  | 10:00:06,746 WARN  [lifecycle] executePhase(RESTORE_VIEW 1,com.sun.faces.context.FacesContextImpl at 62a404) threw exception
  | javax.faces.application.ViewExpiredException: viewId:/sa/processes.jsf - View /sa/processes.jsf could not be restored.
  |         at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:187)
  |         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  |         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  |         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  |         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  |         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  |         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  |         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  |         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
  |         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  |         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  |         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  |         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
  |         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  |         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
  |         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  |         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  |         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
  |         at java.lang.Thread.run(Thread.java:619)
  | 10:00:06,749 WARN  [lifecycle] phase(RESTORE_VIEW 1,com.sun.faces.context.FacesContextImpl at 62a404) threw exception: java.lang.NullPointerException null
  | org.jboss.gravel.common.phase.GravelPhaseListener.afterPhase(GravelPhaseListener.java:112)
  | com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
  | com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  | javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  | org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
  | org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  | org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  | org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
  | org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
  | org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  | org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
  | java.lang.Thread.run(Thread.java:619)
  | 
  | 10:00:06,749 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
  | javax.faces.application.ViewExpiredException: viewId:/sa/processes.jsf - View /sa/processes.jsf could not be restored.
  |         at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:187)
  |         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  |         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  |         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  |         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  |         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  |         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  |         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  |         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
  |         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  |         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  |         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  |         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
  |         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  |         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
  |         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  |         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  |         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
  |         at java.lang.Thread.run(Thread.java:619)
  | 

Can anyone please help me with this ? Its really confusing for me as i am doing it for the first time....

Thanks
Ashish

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4164783#4164783

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4164783



More information about the jboss-user mailing list