0
我測試在eclipse 一個簡單的工作流實例,而不使用JBoss(通過使配置當然jbpm5到Eclipse所以它支持jbpm5)jbpm5在Web應用程序與JBoss 5.1
現在我想測試的樣品工作流程在JEE應用(Web應用程序),在JBoss的服務器上運行5.1
我有這樣的文件:Web應用程序的源文件夾下sample.bpmn和我做ProcessMain.java
在src \ COM \樣本
ProcessMain.java
package com.sample;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.apache.commons.collections.map.HashedMap;
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.runtime.StatefulKnowledgeSession;
import com.esprit.ConsoftEJB.daos.RequestDaoRemote;
import com.esprit.ConsoftEJB.daos.UserDaoRemote;
import com.esprit.ConsoftEJB.persistence.Request;
/**
* This is a sample file to launch a process.
*/
public class ProcessMain {
private RequestDaoRemote reqService ;
private List<Request> requests=new ArrayList<Request>();
public ProcessMain() {
// TODO Auto-generated constructor stub
}
public List<Request> getAllRequest()
{
try {
Context context=new InitialContext();
setReqService((RequestDaoRemote) context.lookup("erq"));
} catch (Exception e) {
e.printStackTrace();
}
return requests=reqService.lisAll();
}
public static final void main(String[] args) throws Exception {
validation();
}
public static void validation()
{
int state=0;
KnowledgeBase kbase = null;
try {
kbase = readKnowledgeBase();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
// start a new process instance
ProcessMain p=new ProcessMain();
List<Request> listreq= p.getAllRequest();
for (int i = 0; i < listreq.size(); i++) {
state=Integer.parseInt(listreq.get(i).getState());
System.err.println(listreq.get(i).getState());
Map<String,Object> param=new HashMap<String,Object>();
param.put("etat",state);
ksession.startProcess("com.sample.bpmn.hello",param);
}
}
private static KnowledgeBase readKnowledgeBase() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);
return kbuilder.newKnowledgeBase();
}
public RequestDaoRemote getReqService() {
return reqService;
}
public void setReqService(RequestDaoRemote reqService) {
this.reqService = reqService;
}
public List<Request> getRequests() {
return requests;
}
public void setRequests(List<Request> requests) {
this.requests = requests;
}
}
的源代碼,我測試這個班上,她顯示正確的結果在控制檯模式
(這是在sample.bpmn文件中設置)
但是當我提出的網頁(JSP頁)一個按鈕,利用所述方法驗證從Java類ProcessMain.java顯示
此錯誤
java.lang.ClassNotFoundException: org.drools.builder.KnowledgeBuilderFactory from [email protected]{[email protected]{name=vfsfile:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ProjetVrai.war/ [email protected]{name=vfsfile:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ProjetVrai.war/ parentPolicy=AFTER_BUT_JAVA_BEFORE [email protected]{DefaultDomain}} roots=[[email protected][path= context=vfsmemory://5hs4j5g-ahljra-h4wsmcy7-1-h4wsw19q-9y real=vfsmemory://5hs4j5g-ahljra-h4wsmcy7-1-h4wsw19q-9y], [email protected][path=ProjetVrai.war/WEB-INF/classes context=file:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ real=file:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ProjetVrai.war/WEB-INF/classes/], [email protected][path=ProjetVrai.war/WEB-INF/lib/commons-beanutils.jar context=file:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ real=file:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ProjetVrai.war/WEB-INF/lib/commons-beanutils.jar], [email protected][path=ProjetVrai.war/WEB-INF/lib/commons-collections.jar context=file:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ real=file:/C:/serveur/jboss-5.1.0.GA/jboss-5.1.0.GA/server/default/deploy/ProjetVrai.war/WEB-INF/lib/commons-collections.jar],