Pavan Kumar Mantha [
https://community.jboss.org/people/manthapavan] created the
discussion
"Re: jBPM5 running via a Web Interface"
To view the discussion, visit:
https://community.jboss.org/message/832844#832844
--------------------------------------------------------------
Hello all
i want to call the jBPM process from servlet so i did it in the following way
my servlet class:
/**
*
*/
package com.spark.jbpm.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Sony
*
*/
public class JbpmServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
JBPMDao jbpmDao = new JBPMDao();
try {
jbpmDao.runJbpmProcess();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
my dao class:
/**
*
*/
package com.spark.jbpm.servlet;
import org.drools.KnowledgeBase;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.io.impl.UrlResource;
import org.drools.runtime.StatefulKnowledgeSession;
/**
* @author Sony
*
*/
public class JBPMDao {
public void runJbpmProcess() throws Exception{
KnowledgeBase kbase = readKnowledgeBase();
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
ksession.startProcess("defaultPackage.HelloWorld");
}
private KnowledgeBase readKnowledgeBase() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
String url = "
http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/defa...
http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/defa...;
System.out.println("Going: " + url);
UrlResource resource = (UrlResource) ResourceFactory.newUrlResource(url);
resource.setBasicAuthentication("enabled");
resource.setUsername("krisv");
resource.setPassword("krisv");
kbuilder.add(resource, ResourceType.PKG);
if(kbuilder.hasErrors()){
throw new RuntimeException(kbuilder.getErrors().toString());
}
KnowledgeBase knowledgeBase = kbuilder.newKnowledgeBase();
knowledgeBase.addKnowledgePackages(kbuilder.getKnowledgePackages());
return knowledgeBase;
}
}
my web.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
http://www.w3.org/2001/XMLSchema-instance"
xmlns="
http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee"
xmlns:web="
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>jBPMServlet</servlet-name>
<servlet-class>com.spark.jbpm.servlet.JbpmServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jBPMServlet</servlet-name>
<url-pattern>/jBPMServlet</url-pattern>
</servlet-mapping>
</web-app>
now when i deply and run the project i get the below error:
h1. HTTP Status 500 -
----
*type* Exception report
*message*
*description* The server encountered an internal error () that prevented it from
fulfilling this request.
*exception*
javax.servlet.ServletException: Error instantiating servlet class
com.spark.jbpm.servlet.JbpmServlet
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
java.lang.Thread.run(Thread.java:662)
*root cause*
java.lang.ClassNotFoundException: com.spark.jbpm.servlet.JbpmServlet from [Module
"deployment.Servlet-jBPM.war:main" from Service Module Loader]
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
org.jboss.as.web.deployment.WebInjectionContainer.newInstance(WebInjectionContainer.java:72)
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
java.lang.Thread.run(Thread.java:662)
*can any one tell me the exact cause of this issue. i am also trying to resolve but not
able to get the exact reason*
*Thanks*
*Pavan Kumar
*
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/832844#832844]
Start a new discussion in jBPM at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]