JBPM配置错误解析
本来是写了挺多的开场白的,和我的使用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也会启动出错,配置文件打开的时候会提示警告。
别的问题我没遇到,就写到这里!
作者:Steven(Steven's Think out)
出处:http://shiyangxt.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。