jBPM环境搭建

来源:互联网 发布:电信光纤网络 编辑:程序博客网 时间:2024/05/22 17:40

      经过近一天的折腾,终于把jBPM环境搭建成功,现在把这一天来的学习经验拿出来和大家分享一下。

系统环境:xp、JDK1.6、jBPM-4.0

安装相关软件:

1、JDK1.6

   安装并配置,这里不再重述。

2、Eclipse3.5

   jBPM4.0好像需要Eclipse3.5版本的.

3、安装Ant

   Ant 是一个编译工具,使用 jBPM 时必须用它来编译文件, jBPM 中的很多操作都要用到 Ant ,安装方法如下:

   (1)先下载:到官方网站下载

   2 解压到 D:/apache-ant-1.7.1(当然其他目录也可以);

   3 设置环境变量:ANT_HOME= D:/apache-ant-1.7.1;(注意这里在结束时不需要加“;“,如若加上会不识别ant命令) 

   4)把 %ANT_HOME%/bin 加入到环境变量 PATH 中。

CMD中键入ant -version 如果看到:Apache Ant version 1.7.1 compiled on June 27 2008那说明你的PATH环境已经设置好了。)

4、安装jBPM4.0

  下载并安装jbpm-4.0  (注意Eclipse的版本要最新的,否则会安装失败,在这一步浪费了我太多时间,望后来者不要重蹈覆辙)

在Eclipse3.5安装的步骤:

 (1)  打开Eclipse选择菜单“Help->”install New SoftWare;

 (2)弹出窗口中点击“Add>”;如图 

 

 (3) 然后点击Archive

 

 (4) 找到下载下来的iBPM-4.0中gpd文件夹

 

 (5) 确定之后,选中JBPM JPDL4.0 

 (6) 选择同意条款,接提示步骤安装就可以了。

 

 现在测试搭建的环境是否成功:

       在Eclipse中新建一个JavaProject,将下载的jbpm-4.0中jbpm-4.0/examples/src下的

五个配置文件复制到新建的工程下,

然后再建一个xml文件:

然后在画:Start、state、end

然后再写一个测试类:

 

package testjbpm;


import junit.framework.TestCase;

import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.RepositoryService;
import org.junit.After;
import org.junit.Before;

public class TestJbpm  extends TestCase{
   
 ProcessEngine processEngine = null;
 String deployId = null;
 RepositoryService repositoryService = null;
 ExecutionService executionService = null;
 
 @Before
 public void setUp() throws Exception {
  processEngine = new Configuration().buildProcessEngine();
  repositoryService = processEngine.getRepositoryService();
  executionService = processEngine.getExecutionService();
  deployId = repositoryService.createDeployment().addResourceFromClasspath("hello.jpdl.xml").deploy();
  
 }

 

 @After
 public void tearDown() throws Exception {
  repositoryService.deleteDeploymentCascade(deployId);
 }
   
 public void testEndHelloWord(){
  ProcessInstance processInstance = executionService.startProcessInstanceByKey("Hello");
  assertTrue(processInstance.isActive("state1"));
  String pid = processInstance.getId();
  processInstance = executionService.signalExecutionById(pid);
  assertTrue(processInstance.isEnded());
 }
}
 

附上xml的文件:

<?xml version="1.0" encoding="UTF-8"?>

<process name="Hello" xmlns="http://jbpm.org/4.0/jpdl">
   <start name="start1" g="4,18,48,48">
      <transition name="to state1" to="state1" g="-68,-18"/>
   </start>
   <end name="end1" g="351,340,48,48"/>
   <state name="state1" g="174,197,92,52">
      <transition name="to end1" to="end1" g="-54,-18"/>
   </state>
</process>

 

原创粉丝点击