`

JBPM与Spring的集成开发(入门)(转)

阅读更多
入门级的东西.
JBPM文档
1、  加入JBPM支持包
下载jbpm-starters-kit-3.1.4在项目的classPath中加入jbpm-3.1.4.jar、jbpm-identity-3.1.2.jar、jbpm-webapp-3.1.2.jar, jbpm-3.1.4.jar必须加入,是JBPM的核心包;jbpm-identity-3.1.2.jar为JBPM的用户权限验证包,如使用系统自身的用户表可不加入;jbpm-webapp-3.1.2.jar是WEB项目的包,包括流程发布,流程图显示,流程定义上传等。
2、  与现有SSH系统集成
A、 加入Spring支持包spring-modules-jbpm31.jar,该包加入了Spring对JBPM的包装,的有的集成都是在此包基础之上。
B、 配置sessionFactoryForJbpm ,jbpmConfiguration,jbpmTemplate, jbpmDao
<bean id="sessionFactoryForJbpm"       class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">       
<property name="mappingLocations">           
<list>              
<!-- 加载jbpm的配置文件,如不要jbpm的权限控制,可以在lib中去掉jbpm-identity-3.1.2.jar -->              
<value>classpath*:/org/jbpm/**/*.hbm.xml</value>           
</list>       
</property>       
<property name="hibernateProperties"           ref="myHibernateProperties" />       
<property name="dataSource" ref="myDataSource" /> 
</bean>

<bean id="jbpmConfiguration"    class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">       
<property name="sessionFactory" ref="sessionFactoryForJbpm" />       
<property name="configuration" value="classpath:jbpm.cfg.xml" />
<!-- jbpm.cfg.xml 配置JBPM的参数,如邮件服务器地址等,保持默认即可,此文件需加入以SRC目录下。如目录不同,需同步更改此处配置-->
</bean>

<!—如需加入更多的方法,可以在CustomerJbpmTemplate 中加入-->    
<bean id="jbpmTemplate"       class="com.col.frame.dao.jbpmDao.CustomerJbpmTemplate">       
<property name="jbpmConfiguration" ref="jbpmConfiguration" />
</bean> 

<!—jbpmDao是系统加入的abstract BEAN,所有的DAO都Extends此BEAN,这样子DAO可以不关心具体的JbpmTemplate是什么,是需要用getTemplate即可操作JBPM-->    
<bean id="jbpmDao" abstract="true"       class="com.col.frame.dao.jbpmDao.JbpmDaoHibernate">       
<property name="template" ref="jbpmTemplate" />
</bean>

这样就完成了JBPM与SPRING的集成,现在JBPM就可以和业务操作在一个事务完成。附:事务参考配置
<bean id="myTransactionManager"       class="org.springframework.orm.hibernate3.HibernateTransactionManager">       
<property name="sessionFactory" ref="sessionFactoryForJbpm" />    
</bean>    

<bean id="beanNameProxy"       class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">       
<property name="beanNames">           
<value>*Manager</value>       
</property>       
<property name="interceptorNames">           
<list>              
<value>transactionInterceptor</value>           
</list>       
</property>    
</bean>    
<bean id="transactionInterceptor"       class="org.springframework.transaction.interceptor.TransactionInterceptor">       
<property name="transactionManager">           
<ref bean="myTransactionManager" />       
</property>       
<property name="transactionAttributes">           
<props>              
<prop key="*">PROPAGATION_REQUIRED</prop>           
</props>       
</property> 
</bean>

3、  加入可视化流程编辑器
jbpm-starters-kit-3.1.4\jbpm-designer\jbpm-gpd-feature\eclipse中的两个目录中的文件就是Eclipse是JBPM可视化编辑器,建议以link方式加入。注意Eclipse版本的。
完成后可以找到
加入JBPM的Eclipse配置,目的是新建一个JBPM项目时,Eclipse可以找到对应的JBPM包并加入到项目中来.
Location定位到\jbpm-starters-kit-3.1.4\jbpm下。
4、  新建一个JBPM流程定义
目录位置最好是单独一个,如org.test.jpdl
5、  新建完成后,在对应目录下将有三个文件,processimage.jpg是流程定义的效果图,gpd.xml是流程定义各任务的位置数据,processdefinition.xml是真正的流程定义。我们只是对processdefinition.xml进行更改。
6、  一个简单的流程定义
processdefinition.xml内容
<?xml version="1.0" encoding="UTF-8"?> 
<!—name为流程定义的名--> 
<process-definition xmlns="" name="hello"> 
<!—泳道配置,主要是用于设置任务的Actor--> 
<swimlane name="user"> 
<assignment class="org.assignment.MyAssignment" /> 
</swimlane> 
<start-state name="start"> 
<task name="input message"> 
<controller> 
<variable name="message" access="read,write,required"></variable> 
</controller> 
</task> 
<transition name="send" to="show message"> 
<action name="firstHandler" config-type="bean" 
<!—-如Handler中需用到Spring的资源,可以用spring的proxy--> class="org.springmodules.workflow.jbpm31.JbpmHandlerProxy"> 
<!-- messageActionHandler 在Spring配置文件中的Bean--> 
<targetBean>messageActionHandler</targetBean> 
<factoryKey>jbpmConfiguration</factoryKey> 
</action> 
</transition> 
</start-state> 
<end-state name="end1"></end-state> 
<task-node name="show message"> 
<task name="message show" swimlane="user"> 
<controller> 
<variable name="message" access="read"></variable> 
</controller> 
</task> 
<transition name="ok" to="end1"></transition> 
</task-node> 
</process-definition> 

7、 发布流程,各join,fork,task的处理(各具体的流程相关,可以参看JBPM文档)
8、 与业务的集成
可以在流程任务上加入变量,如变量名为MyRequestID,存贮MyRequest业务表的ID,就可以详细记录每个任务的执行信息。
9、 对JBPM的扩展
如果JBPM的hibernate的操作不够,可以修改org.jbpm.db.hibernate.queries.hbm.xml加入对应的query,然后再在对应的类中加入相应的方法。
分享到:
评论

相关推荐

    JBPM4.4入门开发实例

    **JBPM4.4入门开发实例** JBPM(Java Business Process Management)是一个开源的工作流程管理系统,专注于业务流程的建模、执行和监控。版本4.4是JBPM的一个早期版本,尽管现在已经有更新的版本,但这个入门实例...

    jbpm的入门1--简单实例

    jbpm支持与Drools规则引擎的集成,允许在流程执行过程中应用业务规则。例如,在审批环节,你可以设置规则来判断是否满足请假条件。 8. **监控和审计** jbpm提供了历史服务,记录流程实例的详细执行轨迹。这使得...

    jBPM开发入门指南

    jBPM不仅可以单独使用,还可以与其他技术框架集成,如Spring、Hibernate等。在实际项目中,jBPM可以用来管理用户工作流、审批流程、任务分配等,提高业务流程的效率和可维护性。 ### 6. 配置与部署 在开发完成后,...

    JBPM 公文管理快速入门程序

    同时,学习如何集成JBPM到实际项目,如Spring Boot应用,以及如何与其他系统如ERP、CRM进行数据交互,将提升你的业务流程管理能力。 总的来说,JBPM公文管理快速入门程序是一个理想的起点,它引导初学者逐步了解和...

    jBPM4.4开发实例

    1. **与Spring集成**:jBPM可以与Spring框架无缝集成,提供更好的依赖注入和事务管理。 2. **规则引擎整合**:jBPM集成了Drools规则引擎,允许在流程中嵌入复杂的业务规则。 3. **数据库持久化**:jBPM支持多种...

    JBPM4.4 工作流 入门 例子

    同时,了解如何集成JBPM与Spring、Hibernate等框架,以及如何使用监控工具(如Kie Workbench)进行流程管理和优化,都是提升JBPM技能的关键。 总之,JBPM4.4提供了一个强大且灵活的工作流平台,通过"HelloWorld...

    jbpm4.4中文开发指南

    8. **API和集成**: 提供了丰富的API接口,便于与其他系统集成,如Spring框架、EJB容器等。同时,jbpm4.4支持RESTful服务,便于Web应用的接入。 9. **开发工具**: 配套有jbpm工作台(jbpm Workbench),一个可视化的...

    jbpm 入门及帮助文档

    8. **集成**:理解如何将jBPM与其他技术如Spring、Hibernate、EJB等进行集成,实现企业级应用。 通过这些文档的学习,你应该能够建立起对jBPM的全面认识,并具备初步的开发能力。记住,实践是检验理论的最好方式,...

    JBPM开发指南.pdf

    - **Spring集成**:JBPM可以与Spring框架无缝集成,实现服务注入和事务管理。 - **JPA持久化**:JBPM支持JPA(Java Persistence API),可以方便地将流程实例和相关数据存储在关系数据库中。 - **RESTful API**:...

    jbpm4.2开发文档

    - **Spring框架集成**:利用Spring的依赖注入特性简化jbpm组件的配置。 - **Web应用示例**:提供了一个基于Tomcat的应用示例,展示了如何在Web环境中使用jbpm进行流程管理。 - **安全性考虑**:通过Spring Security...

    jbpm相关入门、配置

    在jbpm中集成SSH,主要是为了利用Spring的依赖注入和AOP功能,Struts的MVC框架,以及Hibernate的数据访问能力。Spring可以管理jbpm的服务bean,提供事务控制,而Struts则可以用来处理用户交互,将请求转发给jbpm处理...

    jBPM_用户开发手册-中文版

    jBPM可以轻松地与其他Java应用程序、Spring框架、REST服务以及各种企业级应用集成,如EJB、JMS和WS。 ### 五、监控和分析 jBPM提供监控工具,如Kie Workbench,可以实时查看流程实例的状态,分析性能瓶颈,甚至...

    JBPM工作流开发指南

    本指南将深入探讨JBPM的核心概念和实践应用,帮助开发者快速掌握其工作原理与开发技巧。 ### 1. 工作流管理简介 工作流管理系统(WFM)是用于自动化业务流程的工具,它能够定义、执行和管理业务过程中的任务分配、...

    JBPM开发向导(jBPM Developer Guide)

    - **集成框架**: 如何将JBPM与Spring框架、Eclipse等开发工具进行集成。 - **部署**: 讨论如何在不同的环境中部署JBPM应用程序,包括开发环境、测试环境及生产环境。 - **性能优化**: 针对JBPM的应用程序进行性能...

    JBPM5入门学习.doc

    ### JBPM5入门学习知识点详解 #### 一、JBPM5简介 **1.1 什么是JBPM** JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和...

    jbpm开发指南_中文

    **jbpm入门与学习路径:** 1. **理解BPMN**:首先,你需要熟悉BPMN的基本元素和符号,这将帮助你有效地设计流程模型。 2. **安装与环境配置**:安装jbpm开发环境,包括jbpm工作台、服务器和数据库等。 3. **学习PDL...

    jbpm入门实践

    在后续的学习中,你将更深入地了解jbpm的工作原理,如何创建和管理流程,以及如何与其他技术如Spring、Hibernate集成,实现更复杂的业务逻辑。jbpm提供了丰富的API和工具,能够帮助开发者高效地实现流程自动化,提升...

    JBPM5.1入门学习

    - **下载与资源**:首先需要下载JBPM的相关资源,包括引擎库文件、开发工具等。推荐访问JBPM官方网站获取最新版本的下载链接。 - **环境准备**: - 安装JDK:确保系统已安装JDK,这是运行JBPM的基本前提。 - 安装...

    JBoss_jBPM_jPDL用户开发手册3[1].2.3_1.pdf.

    【JBoss_jBPM_jPDL用户开发手册3[1].2.3_1.pdf】这份文档主要聚焦于JBoss企业级应用服务器上的jBPM(Java Business Process Management)框架和jPDL(jBPM Process Definition Language)的使用与开发。jBPM是一个...

Global site tag (gtag.js) - Google Analytics