JBoss Community

Re: jBPM5 running via a Web Interface

created by Pavan Kumar Mantha in jBPM - View the full discussion

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/defaultPackage/SimpleProcess";

        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"

    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="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/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:

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

Start a new discussion in jBPM at Community