`
luoyu-ds
  • 浏览: 138368 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JBPM4.4 学习笔记--2

 
阅读更多

       通过上一篇博客,我们把jbpm基本的开发环境搭建好了。接下来我们可以真正去探索jbpm的奥秘了。

       首先新建一个动态的WEB 工程,导入jbpm,struts,hibernate,spring的jar包(jbpm底层需要数据库的支持的,并且支持hibernate,所以我们可以把对jbpm底层的操作转交给hibernate来处理),据我的测试,jbpm4.4对sql server,oracle,支持都挺好的,但mysql好像有那么一点点不友好,也不知道是不是我自己没整对的原因。

     jar包都导入进来以后,首先我们要配置jbpm几个默认的配置文件,如下图所示:

 


       包jbpm4Configure下的几个配置文件,其中后两个spring的配置文件不是必须的,前提是你不使用spring.ehcache.xml是一个缓存的配置文件,也不是必须的,剩下的都是必须的.其中jbpm.cfg.xml是jbpm的主配置文件,我们打开jpbm.cfg.xml看看里面是什么东东,如下图所示:


      我们可以看到,它里面其实是引入了其他的配置文件而已, 这一些都是jbpm默认的也是必须的配置文件。

 

     如果使用了spring,接下来我们还要配置spring的配置文件,在这里稍微麻烦一点:

applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
      	   http://www.springframework.org/schema/tx
      	   http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
      	   http://www.springframework.org/schema/context
      	   http://www.springframework.org/schema/context/spring-context-2.5.xsd
      	   http://www.springframework.org/schema/aop 
      	   http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">

        <!-- 引入其他模块配置 -->
        <import resource="applicationContext_jbpm.xml" />
      
     	<!-- HIBERNATE 基础DAO类  -->
      	
        <!-- 配置数据源 -->   
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        	<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
        	</property>
        	<property name="url" value="jdbc:oracle:thin:@localhost:1521:jbpm4test">
        	</property>
        	<property name="username" value="system"></property>
        	<property name="password" value="admin"></property>

        	<!-- 初始连接数目  -->
        	<property name="initialSize" value="1"></property>	

        	<!-- 最大连接数目  -->
        	<property name="maxActive" value="100"></property>	

        	<!-- 最大空闲连接数目  -->
        	<property name="maxIdle" value="2"></property>

        	<!-- 最小空闲连接数目  -->
        	<property name="minIdle" value="1"></property>	
        </bean>

        <!-- HIBERNATE配置 -->
        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        	<property name="dataSource">
        		<ref bean="dataSource"/>
        	</property><!-- 配置数据源 -->

        	<!-- 配置JBPM实体类 -->
 			<property name="mappingLocations">
				<value>classpath*:/org/jbpm/**/*.hbm.xml</value>
			</property>

        	<property name="hibernateProperties">
        		<props>
        			<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
        			<prop key="hibernate.show_sql">true</prop>
        			<prop key="hibernate.hbm2ddl.auto">none</prop>
        		</props>
        	</property>
        	<property name="packagesToScan">
        		<list>
        			<value>jbpm4.org.cn.entity</value>
        		</list>
        	</property>
        	<property name="mappingResources">
        		<list>
         			<value>jbpm.repository.hbm.xml</value>
	            	<value>jbpm.execution.hbm.xml</value>  
	            	<value>jbpm.identity.hbm.xml</value>
	            	<value>jbpm.history.hbm.xml</value>
	             	<value>jbpm.task.hbm.xml</value>
         		</list>
        	</property>

	   </bean>

        <!-- 配置事务管理器  --> 
        <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        	<property name="sessionFactory" ref="sessionFactory"/>
        </bean>

		 <!-- 配置JBPM事务的传播特性 -->
	    <tx:advice id="txAdvice" transaction-manager="txManager">
	        <tx:attributes>
	            <tx:method name="add*" propagation="REQUIRED" />  
	            <tx:method name="del*" propagation="REQUIRED" />  
	            <tx:method name="update*" propagation="REQUIRED" />
	            <tx:method name="save*" propagation="REQUIRED" />  
	            <tx:method name="*" read-only="true" />  
	        </tx:attributes>  
	    </tx:advice>

	    <!-- 配置JBPM的类的方法参与事务 -->
	    <aop:config>  
	        <aop:pointcut id="allManagerMethod"
	            expression="execution(* com.wj.dao.impl.ScheduleDAOImpl.*.*(..))" />  
	        <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice" />
	    </aop:config>

	    <!-- 配置自动扫描 -->
		<context:component-scan base-package="jbpm4.org.cn.*"/>

		<!--	配置注解方式管理事务 -->
		<tx:annotation-driven transaction-manager="txManager" />
        <bean id="hibernateDao" class="jbpm4.org.cn.dao.impl.HibernateDaoImpl">
      		<property name="sessionFactory"  ref="sessionFactory" ></property>
      	</bean>
</beans>

      在spring配置文件开头,我们引入另一个配置文件,applicationContext-jbpm.xml,这个文件是配置jbpm的几个重要service,jbpm的一切工作其实都是通过这几个service来间接实现的,这几个service之间的关于也相对复杂。另外必须注意的是,在applicationContext.xml中:hibernate的hibernate.hbm2ddl.auto属性第一次启动服务器之前必须设置为create.这样hibernate才能自动为jbpm创建它需要的18张表。

 

<property name="hibernateProperties">
        		<props>
        			<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
        			<prop key="hibernate.show_sql">true</prop>
        			<prop key="hibernate.hbm2ddl.auto">create</prop>
        		</props>
        	</property>
 

applicationContext-jbpm.xml内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/tx
           http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">


		<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"
        	lazy-init="default" autowire="default" dependency-check="default">  
	        <property name="jbpmCfg">
	            <value>jbpm4Configure/jbpm.cfg.xml</value>
	        </property>
    	</bean>
    	<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> 
		<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
		<bean id="executionService" factory-bean="processEngine" factory-method="getExecutionService" />
	    <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
	    <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
	    <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
	    <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService" />
</beans>

 

    这里面配置获取这几个service的方法。它们都是通过processEngine来获取的。

     到了这,我们的一个简单的基于jbpm工作流的工程就建起来了,部署到服务器,启动,如果没报错的话,那么就可以继续往下开发了。。

  • 大小: 4.8 KB
  • 大小: 9.6 KB
分享到:
评论

相关推荐

    jbpm-4.4\jbpm-4.4\doc\javadocs

    jbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocs

    JBPM4.4-API-CHM官方英文版(自己制作整合)

    JBPM4.4-API-CHM官方英文版(自己制作整合)

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM...总的来说,jBPM4.4是企业级业务流程自动化的重要工具,通过深入学习这两份资料,开发者和业务人员都能够充分利用其功能,提升流程管理的效率和灵活性。

    jbpm4.4 ibatis-spring 整合

    jbpm4.4 ibatis-spring 整合

    jbpm4.4学习笔记

    3 Jbpm4.4介绍 7 3.1工作流引擎 8 3.2jpdl 8 3.3数据库 8 3.3.1资源库和运行时表结构 8 3.3.2历史数据库表 9 3.3.3身份认证表 9 3.4jbpm.cfg.xml 9 3.5 jbpm.hibernate.cfg.xml 10 3.6logging.properties 10 4 准备...

    jbpm-4.4.zip part03

    【jbpm-4.4.zip part03】这个压缩文件是关于jbpm 4.4版本的组成部分,jbpm(Java Business Process Management)是一个开源的工作流管理系统,它提供了业务流程建模、部署、执行和监控的功能。jbpm 4.4是该系统的一...

    jbpm4.4帮助文档API--chm格式

    完美版JBPM4.4帮助文档,开发必备。

    JBPM4.4学习文档.ppt

    JBPM4.4学习文档.ppt

    jbpm4.4下载地址

    jBPM 4.4的下载地址为:http://sourceforge.net/projects/jbpm/files/jBPM%204/jbpm-4.4/。在下载页面上,你可以找到不同的包,包括源代码、二进制文件和文档。选择适合你需求的包进行下载。安装过程通常涉及解压缩...

    jbpm4.4文档+学习资料

    三、jbpm4.4学习路径 1. 基础概念:首先需要了解BPM的基本概念,如流程实例、任务、事件、信号等。 2. 工具使用:学习使用jbpm提供的图形化建模工具,创建和编辑流程模型。 3. API及编程接口:深入理解jbpm的API,如...

    jBPM4.4开发指南

    导航至 install/src/gpd/jbpm-gpd-site.zip 并点击 Open 5. 在 Install 对话框中选择 jPDL4 GPD Update Site 6. 点击 Next 和 Finish 7. 同意许可协议 8. 重启 Eclipse - **添加 jPDL 4.4 Schema 校验**:用于...

    jbpm 4.4 学习笔记

    在本文档中,主要讨论的是jbpm 4.4 版本的学习笔记。作者通过实践学习并整理了关于jbpm的一些关键概念和操作。 首先,流程图是jbpm设计流程的核心,它包含了一系列的流程元素。在提到的订购流程中,主要包括以下...

    jbpm4.4 shh2 项目示例

    jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...

    jBPM4.4开发实例

    通过这个入门实例,开发者可以学习到如何使用jBPM4.4进行流程设计、部署和执行的基本操作,并逐步掌握其在实际项目中的应用。在实践中不断探索和深入,才能更好地利用jBPM4.4实现业务流程自动化,提高工作效率。

    jbpm_4.4完整架包

    【jbpm_4.4完整架包】是一个包含jbpm(Java Business Process Management)4.4版本所有必要组件和资源的压缩包。jbpm是一个开源的工作流管理系统,它提供了业务流程建模、部署、执行、监控和管理的能力,主要用于...

    jbpm4.4开发包2

    【jbpm4.4开发包2】是针对Java业务流程管理(Business Process Management,简称BPM)系统的一个重要版本,由JBoss公司开发并维护。jbpm4.4是jbpm框架的第4个主要版本的第4次迭代,它为开发者提供了强大的工具集来...

    jbpm4.4中文开发指南

    2. **工作流引擎**: jbpm4.4包含一个强大的工作流引擎,能够执行编译后的流程模型。这个引擎负责流程实例的启动、流转、暂停、恢复和终止,以及任务分配和执行。 3. **持久化**: jbpm4.4支持JPA(Java Persistence ...

    JBPM4.4流程管理Demo(附学习资料)

    - 随附的学习资料可能包括JBPM4.4的官方文档、教程、示例代码解析等,对于初学者来说,这些资源可以帮助理解JBPM的工作原理和使用方法。 7. **项目结构与运行** - JBPM4.4Demo项目可能包含了Maven或Gradle构建...

    jBPM 4.4用户手册 中文PDF

    《jBPM 4.4 用户手册》中文版提供了全面的指南,涵盖了从安装、配置、建模、执行到监控的各个环节,是学习和使用jBPM 4.4的重要参考资料。通过阅读这份手册,开发者和业务分析师可以深入了解jBPM的功能和用法,快速...

Global site tag (gtag.js) - Google Analytics