本来是写了挺多的开场白的,和我的使用JBPM感想的,但是因为我的苹果浏览器突然冒出了一个内存错误,自动关闭了
,所以我写的一大票东西都白写了,咳~~,真是点背,搞得我也没心情在重打一遍了。算了长话短说吧。
JBPM是一个OA办公自动化的开源框架或者叫它开源组件也可以。这个东东可以让我们方便的书写流程逻辑,并且很轻松
的应付复杂多变的需求,提高了开发效率。但是不用这个技术,也可以实现工作流,只不过就比较不专业,需求实现起来比较慢。但是这个
框架的学习坡度很陡,不好学,所以这也是这方面资料不多的一个原因。这个框架的底层数据操作是hibernate,但是他封装了sessionFactory
和session以及事务。提供了一套自己的以任务为主体的工作流程实现。封装了hibernate的方法,而且比较不好懂,不过学习一下其中的
实现思路和流程设计技巧也挺不错的。我也是通过几个例子才渐渐了解了这个框架。网上的资料千篇一律都是讲的与J2SE和Junit的整合,
其中不免贴过来贴过去,我这篇帖子没准也是这种命运,搞得最后也不知道这篇文章的作者是谁了,呵呵。我讲的是J2EE与JBPM的整合,
因为随着技术的发展,环境之间的更新换代,造成了很多配置的错误。所以我想总结一下。本来不想写这么多的,还是说了这么多。
使用环境:MyEclipse6.5,Mysql5,hibernate3.2,jbpm-starters-kit-3.1.2,ant1.7.1。
第一个会造成错误的就是:表结构的字段错误,修改方法就是更新表字段。
ALTER TABLE JBPM_ACTION MODIFY ISASYNC_ TINYINT ( 1 );
ALTER TABLE JBPM_ACTION MODIFY ISPROPAGATIONALLOWED_ TINYINT ( 1 );
ALTER TABLE JBPM_NODE MODIFY ISASYNC_ TINYINT ( 1 );
ALTER TABLE JBPM_NODE MODIFY ISASYNCEXCL_ TINYINT ( 1 );
ALTER TABLE JBPM_NODE MODIFY CREATETASKS_ TINYINT ( 1 );
ALTER TABLE JBPM_NODE MODIFY ENDTASKS_ TINYINT ( 1 );
ALTER TABLE JBPM_PROCESSINSTANCE MODIFY ISSUSPENDED_ TINYINT ( 1 );
ALTER TABLE JBPM_TASK MODIFY ISBLOCKING_ TINYINT ( 1 );
ALTER TABLE JBPM_TASK MODIFY ISSIGNALLING_ TINYINT ( 1 );
ALTER TABLE JBPM_TASKINSTANCE MODIFY ISCANCELLED_ TINYINT ( 1 );
ALTER TABLE JBPM_TASKINSTANCE MODIFY ISSUSPENDED_ TINYINT ( 1 );
ALTER TABLE JBPM_TASKINSTANCE MODIFY ISOPEN_ TINYINT ( 1 );
ALTER TABLE JBPM_TASKINSTANCE MODIFY ISSIGNALLING_ TINYINT ( 1 );
ALTER TABLE JBPM_TASKINSTANCE MODIFY ISBLOCKING_ TINYINT ( 1 );
ALTER TABLE JBPM_TOKEN MODIFY ISABLETOREACTIVATEPARENT_ TINYINT ( 1 );
ALTER TABLE JBPM_TOKEN MODIFY ISTERMINATIONIMPLICIT_ TINYINT ( 1 );
ALTER TABLE JBPM_TOKEN MODIFY ISSUSPENDED_ TINYINT ( 1 );
我有一句更新出错,但是不影响下一步的操作。
第二个需要注意的是web.xml的配置:
< web-app version ="2.5" xmlns ="http://java.sun.com/xml/ns/javaee"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
< filter >
< filter-name > JbpmContextFilter </ filter-name >
< filter-class > org.jbpm.web.JbpmContextFilter </ filter-class >
</ filter >
< filter-mapping >
< filter-name > JbpmContextFilter </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
< welcome-file-list >
< welcome-file > index.jsp </ welcome-file >
</ welcome-file-list >
</ web-app >
第三个需要注意的是MyFace的jar包引入问题,因为我们的项目一般不需要使用Myface技术,所以这两个jbpm配置包
是多余的,不删掉的话,Myeclipse会报错。包名:myfaces-api.jar,myfaces-impl.jar。
第四个需要注意的就是common jar包的引入,可能会与tomcat或其他的web服务器内的common的jar包有版本冲突。
所以可以删除其一,我建议删jbpm的common jar包。
第五就是需要添加hibernate支持,否则Myeclipse也会启动出错,配置文件打开的时候会提示警告。
本文转自施杨博客园博客,原文链接:http://www.cnblogs.com/shiyangxt/archive/2009/03/06/1404926.html,如需转载请自行联系原作者