tianhennan 2011-07-22
JBPM4.3总结二
[此博文包含图片](2010-05-0511:55:58)
转载
标签:
it
分类:jbpm
JBPM4.3总结二JBPM4.3总结二
Jbpm4.3使用文档
1.介绍
jBPM是一个可扩展、灵活的流程引擎,它可以运行在独立的服务器上或者嵌入任何Java应用中。
类介绍:1.流程引擎ProcessEngineprocessEngine=Configuration.getProcessEngine();
2.流程定义管理RepositoryServicerepositoryService=processEngine
.getRepositoryService();
3.执行管理ExecutionServiceexecutionService=processEngine
.getExecutionService();
4.任务管理TaskServicetaskService=processEngine.getTaskService();
5.历史管理HistoryServicehistoryService=processEngine.getHistoryService();
6.用户管理IdentityServiceidentityService=processEngine.getIdentityService();
使用步骤
下载
Jbpm4.3应用包:http://sourceforge.net/projects/jbpm/files/,解压。
源码下载:可以从jBPM的SVN仓库里下载源代码。
https://anonsvn.jboss.org/repos/jbpm/jbpm4/
2集成jbpm4.3
2.1配置jbpm
首先到jbpm安装目录,复制examples\src下的xml文件到你的项目src下。然后修改jbpm.hibernate.cfg.xml<!--改成自己的数据库链接默认是hsql,可以直接运行examples-->
<?xmlversion="1.0"encoding="utf-8"?>
<!DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<propertyname="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<propertyname="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<propertyname="hibernate.connection.url">jdbc:hsqldb:mem:.</property>
<propertyname="hibernate.connection.username">sa</property>
<propertyname="hibernate.connection.password"></property>
<propertyname="hibernate.hbm2ddl.auto">create-drop</property>
<propertyname="hibernate.format_sql">false</property>
<mappingresource="jbpm.repository.hbm.xml"/>
<mappingresource="jbpm.execution.hbm.xml"/>
<mappingresource="jbpm.history.hbm.xml"/>
<mappingresource="jbpm.task.hbm.xml"/>
<mappingresource="jbpm.identity.hbm.xml"/>
</session-factory>
</hibernate-configuration>
2.2sql脚本
到jbpm4.3安装目录下install\src\db\create找到和自己数据库想对应的sql文件,目前有hsqldb,mysql,oracle,postgresql。
2.3执行脚本建表
Mysql举例:打开MySQLCommandLineClient,然后执行source./sql文件
2.4使用步骤实例
ProcessEngineprocessEngine=Configuration.getProcessEngine();
IdentityServiceidentityService=processEngine.getIdentityService();
RepositoryServicerepositoryService=processEngine.getRepositoryService();
ExecutionServiceexecutionService=processEngine.getExecutionService();
TaskServicetaskService=processEngine.getTaskService();
HistoryServicehistoryService=processEngine.getHistoryService();
Stringusername=(String)session.getAttribute("username");
//得到流程定义
List<ProcessDefinition>pdL=repositoryService.createProcessDefinitionQuery().list();
//流程实例
List<ProcessInstance>piL=executionService.createProcessInstanceQuery().list();
//当前用户的任务列表
List<Task>tL=taskService.findGroupTasks(username);
List<Task>tLByPerson=taskService.findPersonalTasks(username);
//处理历史列表
List<HistoryActivityInstance>htL=newArrayList<HistoryActivityInstance>();
待续。。。。