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_PROCESSDEFINITION MODIFY ISTERMINATIONIMPLICIT_ TINYINT(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的配置:

<?xml version="1.0" encoding="UTF-8"?>
<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也会启动出错,配置文件打开的时候会提示警告。

 

别的问题我没遇到,就写到这里!

 

posted on 2009-03-06 20:37  施杨  阅读(924)  评论(2编辑  收藏  举报

导航