|
热爱java的同事们好,大家应该把学习的知识拿出来分享,让后来者少走湾路,我把学习到jbpm4+sql 2005数据库环境配置写出出来,让大家也相互学习一下(这也是我学习了一周才解决).
jbpm4工作流引擎给你一种全新的灵活感觉,我学习应该是以后的主流,所以就想学习她了,想把它配置到eclipe 环境中去,后台数据库用了SQL 2005,但官方没有推荐用MSSQL,默认是HSQL数据库.
1,下载JBPM4组件.我下载了jbpm4.4;解压缩后有"doc,examples,install,lib,src"目录.doc 是文档介绍,examples是例子(有用),install目录下的src\gpd\jbpm-gpd-site.zip是eclipse下的插件.通过eclipse中的菜单help-install new softwar,选择active浏览src\gpd\jbpm-gpd-site.zip来添加插件,要等上好几分钟才能安装好.
2.下载好开源的jdbc驱动包jtds-1.2.5.jar.该包比MS SQL 发布的驱动程序在好用.
3.新建一个java project(也可以建立Web项目) 后,把jbpm4下的jbpm.jar与lib下的所有文件都引用到该工程中去,还有jtds-1.2.5.jar文件不要忘记了哦.
4.把jbpm4下example下的(jbpm.cfg.xml,jbpm.hibernate.cfg.xml,jbpm.mailproperties,jbpm.mail.templates.xml,logging.properties)复到工作src目录下.得把jbpm.hibernate.cfg.xml中的改成如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:jtds:sqlserver://127.0.0.1:1433/ProManager</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="jbpm.repository.hbm.xml" />
<mapping resource="jbpm.execution.hbm.xml" />
<mapping resource="jbpm.history.hbm.xml" />
<mapping resource="jbpm.task.hbm.xml" />
<mapping resource="jbpm.identity.hbm.xml" />
</session-factory>
</hibernate-configuration>
注意上面红字的内容就是对应到jtds驱动的相应写法.
5.先建立jbpm4数据库,然后建立jbpm4数据库表,也可以用脚下本建立,但有可能出错.我建立用hibernate自动建立数据库表.语句如下:
1)org.hibernate.cfg.Configuration cfg = new org.hibernate.cfg.Configuration().configure ("jbpm.hibernate.cfg.xml");
2)SchemaExport export = new SchemaExport(cfg);
3)export.create(true, true);
6.发布流程,删除流程:
ProcessEngine processEngine = Configuration.getProcessEngine();
//发布流程
RepositoryService repositoryService = processEngine .getRepositoryService();
String deployId=repositoryService.createDeployment()
.addResourceFromClasspath("sample.jpdl.xml").deploy();
//打印流程ID号
System.out.println(deployId);
//删除流程
repositoryService.deleteDeploymentCascade("10001"); |
|