一步一步学JBPM之第一个JBPM实例
近段时间公司要用JBPM做工作流引擎,不得不学习了。
1.什么是jBPM?
jBoss jBPM是一个灵活、可拓展的流程语言框架。jPDL是建立在这个通用框架之上的一个流程语言。它使用直观的流程语言以图形化的方式来表示业务流程,使用术语任务、异步通讯呆呆状态、定时器、自动操作等。为了将这些操作绑定在一起,jPDL提供了强有力的、可拓展的流程控制机制。
jPDL有一个具有最小的依赖性和尽可能简单易用的java库。但它也能被部署在高吞吐量极为关键的J2EE集群应用服务器的环境里。
jPDL能够使用任何数据库来进行配置,同时也能任何应用服务器上进行部署。
2.下载并安装jBPM
2.1 下载jbpm-jpdl-suite-3.2.GA
2.2 下载eclipse-SDK-3.2.1-win32.zip
2.3 将jbpm-jpdl-suite-3.2.GA解压至电脑上,其目录结构如下:
2.4 将eclipse-SDK-3.2.1-win32.zip解压到%jBPM_HOME%\designer在覆盖其中的Eclipse文件夹
2.5 点击%jBPM_HOME%\designer\designer.bat即可启动eclipse。
3.开发第一个jBPM的实例
3.1 点File->New->Others,如下图
3.2选择Process Project,键入工程名,一直Next直至Finish。如下图:
3.3运行test目录下的testSimpleProcess方法。第一个实例结束。
4.第一个实例的讲解
从流程定义文件看起,processdefinition.xml定义了我们的流程规则,用eclipse的可视化工具打开,可很直观的看到流程,其是由xml定义的,gpd.xml文件定义了生成图片的位置。processdefinition.xml详细说明:
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="simple"><!-- 根节点 --> <start-state name="start"><!-- 开始节点 --> <transition name="to_state" to="first"><!-- 定义一个扭转,并设置其扭转动作 --> <action name="action" class="com.sample.action.MessageActionHandler"> <message>Going to the first state!</message> </action> </transition> </start-state> <state name="first"> <transition name="to_end" to="end"> <action name="action" class="com.sample.action.MessageActionHandler"> <message>About to finish!</message> </action> </transition> </state> <!-- 定义一个结束节点 --> <end-state name="end"></end-state> </process-definition>