`

用好jbpm

    博客分类:
  • java
阅读更多
要用好jbpm首先要明白jbpm和你的业务代码的关系,我估计楼主在这个方面糊涂了。

jbpm工作流说白了就是一个jar包,供你的业务代码调用;其地位和hibernate,dom4j等等是一样的。

例如:hibernate有配置文件,映射文件,jbpm有流程定义文件;只不过流程定义文件需要用设计起来“画”,手工编辑流程定义文件实在太复杂了。在正式运行的环境下流程定义文件通常保存在数据库中,因为这样可以控制其版本;当然,在开发阶段,定义文件类文件一样放在classes目录下也是可以的。

应用jbpm的一般步骤就是(spring+hibernate的情况):
1、把jbpm的jar包扔到你的WEB-INF/lib下,
2、用设计器定义一个流程,通常开发阶段该流程直接保存在project的src目录下,编译后就跑到WEB-INF/classes目录下去了。
3、配置好jbpmtemplate,在这个配置中引用到第二步定义的流程,如abcProcess,如下
Java代码
<?xml version="1.0" encoding="GBK"?>  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">  
 
<beans>  
 
    <!-- 工作流相关配置  -->  
    <bean id="abcProcess" 
        class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">  
        <property name="definitionLocation" 
            value="classpath:xxxx/jpdl/abcprocess/processdefinition.xml" />  
 
      
      
    <bean id="jbpmConfiguration" 
        class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">  
        <property name="sessionFactory" ref="MyHibernateSessionFactory" />  
        <property name="configuration" 
            value="classpath:jbpm/jbpm.cfg.xml" />  
        <property name="createSchema" value="false" />  
        <property name="processDefinitions">        
            <list>                            
                <ref local="abcProcess" />                           
            </list>  
        </property>  
        -->  
    </bean>  
    <bean id="jbpmTemplate" 
        class="org.springmodules.workflow.jbpm31.JbpmTemplate">  
        <constructor-arg index="0" ref="jbpmConfiguration" />  
    </bean>  
 
</beans> 

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<!-- 工作流相关配置  -->
<bean id="abcProcess"
class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">
<property name="definitionLocation"
value="classpath:xxxx/jpdl/abcprocess/processdefinition.xml" />



<bean id="jbpmConfiguration"
class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
<property name="sessionFactory" ref="MyHibernateSessionFactory" />
<property name="configuration"
value="classpath:jbpm/jbpm.cfg.xml" />
<property name="createSchema" value="false" />
<property name="processDefinitions">
<list>  
<ref local="abcProcess" />
</list>
</property>
    -->
</bean>
<bean id="jbpmTemplate"
class="org.springmodules.workflow.jbpm31.JbpmTemplate">
<constructor-arg index="0" ref="jbpmConfiguration" />
</bean>

</beans>

4、在你的Service类里面引用jbpmtempate,创建流程、执行taskinstance的complete操作等等。

顺便大个广告:我正在写一个开源的workflow,比jbpm好!嘿嘿。http://code.google.com/p/fireflow/,另外,我的blog里面也有关于工作流的一些东西http://nychen2000.iteye.com/
分享到:
评论

相关推荐

    jbpm4jbpm5

    手册中可能包含如何使用jbpm5的工具集(如Guvnor和Workbench)、部署流程、管理任务、监控运行时状态等内容。 4. **jbpm应用开发指引**: jbpm应用开发指面(胡奇).pdf可能是胡奇专家对jbpm应用开发的实践经验分享...

    jbpm简介\jbpm简介

    2. **低依赖性**:jBPM对企业应用的依赖性极小,可以轻松作为Java库使用,同时也适用于高吞吐量的J2EE集群应用服务器环境。 3. **广泛的数据库支持**:jBPM可以与任何数据库配置协同工作,并且可以在任何应用服务器...

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    此外,熟悉Drools规则引擎的使用,能帮助开发者更好地利用jBpm实现智能决策。 总之,jBpm 3.1.2是业务流程自动化领域的一个强大工具,它为开发高效、灵活的工作流应用提供了坚实的基础。无论是对于企业内部的流程...

    jbpm 案例 jbpm jbpm

    jbpm使用案例,非常不错,大家都来看看吧。

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    在开始jbPM 3.2的开发之前,你需要配置好相应的环境。这通常包括以下步骤: 1. **Java环境**:jbPM 3.2基于Java平台,因此首先确保安装了JDK,并设置好`JAVA_HOME`环境变量。 2. **Maven或Ant**:jbPM 3.2的构建...

    jBPM 4使用手记

    除了jBPM Designer,还有其他配套工具,如jBPM Console(Web应用,提供流程监控和管理)、jbpm-gwt-console(基于GWT的轻量级监控应用)等,帮助开发者和运营人员更好地管理和监控业务流程。 ### 8. 示例与实践 在...

    jbpm使用简单示例

    **jbpm简介** jbpm(Java Business ...总之,"jbpm使用简单示例"是一个很好的学习资源,通过它,开发者不仅可以了解jbpm的基本操作,还能掌握如何在实际项目中运用流程管理技术,提升业务系统的灵活性和可维护性。

    jbpm开发指南--jbpm全面介绍

    通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...

    经典的配置好的jbpm实例

    这个经典的jbpm实例提供了一个已经配置好的环境,可以直接在Tomcat应用服务器上部署,并能在MyEclipse集成开发环境中导入使用,极大地简化了开发者的学习和开发流程。 一、jbpm简介 jbpm是一个基于Java的流程引擎,...

    jbpm

    此外,你还需要熟悉Java编程,尤其是Spring框架,因为jbpm经常与Spring结合使用以提供依赖注入和事务管理。最后,对于Struts2,你需要了解其拦截器、Action、结果类型等核心概念,以便在jbpm流程中正确调用和响应...

    jbpm数据库表介绍

    jbpm 数据库表介绍 jbpm 是一个基于 Java 的 workflow 引擎,用于管理和执行业务流程。jbpm 需要持久化流程部署、...了解 jbpm 的数据库表结构能够帮助开发者更好地理解和使用 jbpm,实现更加复杂的业务流程管理系统。

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    2. **流程定义**:jBPM支持使用BPMN 2.0标准进行流程建模,这是一种图形化的业务流程建模语言,使得业务人员和开发者能共同理解和创建流程。 3. **流程执行**:jBPM4.4提供了一个流程引擎,用于解析流程定义并执行...

    jbpm jbpm3 jbpm4 用户和开发指南+教程+最佳实践全套

    "jbpm开发指南.pdf"可能是对jbpm4或更高版本的开发者指南,涵盖了jbpm的编程模型、API使用、集成策略等深入内容,帮助开发者构建基于jbpm的业务流程应用。这通常会包括如何使用jPDL(jbpm Process Definition ...

    jbpm白皮书 介绍jbpm 入门

    - **成本效益**:作为开源项目,jBPM 无需昂贵的许可费用,这降低了企业和组织使用 BPM 技术的门槛。 - **灵活性**:支持多种流程定义语言,适应不同的业务场景需求。 - **社区支持**:活跃的开发者社区提供了丰富的...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

    jbpm学习资料,jbpm教程

    jPDL(jBPM Process Definition Language)是jbpm使用的一种基于XML的语言,用于描述业务流程。它提供了一系列的元素和指令,让开发者能够清晰地定义流程的各个阶段、任务分配、决策逻辑以及流程间的交互。在jBPM-...

Global site tag (gtag.js) - Google Analytics