经过近一天的折腾,终于把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>