- 浏览: 458921 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (233)
- 技术日志 (87)
- portal (7)
- jBPM/Activiti (34)
- Roller学习 (18)
- Java基础、网站开发 (19)
- 收藏URL (4)
- UML (3)
- linux操作 (7)
- 工作环境准备 (8)
- Mina (15)
- tomcat (8)
- Mylyn (3)
- sina网站 (2)
- 规则引擎 (3)
- 工作记录 (11)
- html(5) (9)
- 手机开发 (3)
- oracle (26)
- 常用的 (2)
- maven (8)
- hadoop (0)
- xml (7)
- 错误解决 (5)
- linux (1)
- c# (2)
- c++ (1)
- node.js (1)
- 银行业务知识 (1)
- Java调试 (0)
最新评论
-
tomcatmeng:
请问候选用户是怎样task自己的任务,看网上说先根据任务id先 ...
jBPM4.4:ForEach的使用--动态设置参与人数 -
maoweiwer:
友情提醒:如果是在MYSQL下创建数据库,则还需要更改\jbp ...
jBPM4.4: 创建数据库表 -
zybing:
ganjiang 写道有点疑惑,请lz指点,1.那个“depl ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤 -
zybing:
ganjiang 写道有点疑惑,请lz指点,1.那个“depl ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤 -
ganjiang:
有点疑惑,请lz指点,1.那个“deployId”不知是那个i ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤
jBPM4.4,获取ProcessEngine是通过Configuration.getProcessEngine()中获取的。
Configuration.getProcessEngine()的代码如下:
/** get the singleton ProcessEngine that is created from the default * configuration file 'jbpm.cfg.xml'. */ public static ProcessEngine getProcessEngine() { if (singleton == null) { synchronized (Configuration.class) { if (singleton == null) { singleton = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine(); } } } return Configuration.singleton; }
(虽然这一段代码可能会有“双重检查锁定”失败的问题,但是不影响到分析jBPM的配置 -- 详见IBM04年的文章:双重检查锁定及单例模式)
系统缺省的加载jbpm.cfg.xml,作为主配置文件。
在jBPM4.4的install/src/cfg中,带了几套配置文件的样板。
在cfg中:有几个目录:
hibernate:采用hibernate时候的配置(其中还分为好几种方式的数据源方式:datasource/jdbc/spring/tomcat)
jbpm :主配置文件的样板(分为:采用jta/spring/standalone--这种方式直接配置hibernate)
logging : logging的几种配置法
mail : 邮件的配置样板
spring : 如果使用到spring的时候,applicationcontext.xml的样板
在jbpm目录中,拿一个样板来讲:spring.jbpm.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <jbpm-configuration> <import resource="jbpm.default.cfg.xml" /> <import resource="jbpm.tx.spring.cfg.xml" /> <import resource="jbpm.jpdl.cfg.xml" /> <import resource="jbpm.bpmn.cfg.xml" /> <import resource="jbpm.identity.cfg.xml" /> <import resource="jbpm.businesscalendar.cfg.xml" /> <import resource="jbpm.console.cfg.xml" /> <import resource="jbpm.jobexecutor.cfg.xml" /> <process-engine-context> <string name="spring.cfg" value="applicationContext.xml" /> </process-engine-context> </jbpm-configuration>
对于3种不同的配置,就是在第二个配置项上有差异,其余部分都是一样的。
spring: <import resource="jbpm.tx.spring.cfg.xml" />
jta : <import resource="jbpm.tx.jta.cfg.xml" />
standalone: <import resource="jbpm.tx.hibernate.cfg.xml" />
这几个文件都在{jBPM4.4}的src目录中。
现在要做的和spring结合起来,因此在自己项目中,采用第一个配置:
其实这3个文件的差别也是不大,主要在于配置transaction-context上,而且如果采用spring的话,hibernate的配置进了spring的配置文件,因此在jbpm.tx.spring.cfg中,不需要有hibernate的配置,而另外2种方式,都要声明hibernate配置采用哪个文件。
样例的applicationcontext.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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"> <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" /> <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> <property name="dataSource" ref="dataSource" /> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="@jdbc.driver@" /> <property name="url" value="@jdbc.url@" /> <property name="username" value="@jdbc.username@" /> <property name="password" value="@jdbc.password@" /> </bean> </beans>
数据库的配置在spring配置文件中,单独的有一段:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" /> <property name="dataSource" ref="dataSource" /> </bean>
而且数据源配置在spring的配置文件中,因此在hibernate的配置文件中,就不需要配置数据源了。
hibernate的配置文件:在{JBPM4.4}/install/src/cfg/hibernate/spring中:
以oracle的配置文件为例:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> <property name="hibernate.format_sql">true</property> <mapping resource="jbpm.repository.hbm.xml" /> <mapping resource="jbpm.execution.hbm.xml" /> <mapping resource="jbpm.history.hbm.xml" /> <mapping resource="jbpm.task.hbm.xml" /> <mapping resource="jbpm.identity.hbm.xml" /> </session-factory> </hibernate-configuration>
在hibernate的配置文件中,见不到数据库的连接配置信息了,这样数据库连接可以在spring中统一配置,避免了在一个系统中,多处配置数据库连接的情况。
这样完成了jBPM4.4和spring的结合。(好像自己没做什么,就是看了一下jBPM提供的各种不同方式的组合。)
发表评论
-
jBPM4.4+SpringSecurity用户合并到自己体系中来
2011-12-30 10:53 3524jbPM4.4中的用户: 见:http://zybin ... -
从JBPM4以后的走向
2011-12-23 09:47 2111从JBPM4以后, 原来jBPM的设计师Tom Baeye ... -
jBPM4.4:查找任务完成过程
2011-08-29 11:50 2689在jBPM中,历史的任务,通过historyService可以 ... -
【jBPM】jbpm怎么获取下一个节点的任务定义,注意不是任务实例。
2011-08-27 06:19 3449http://jbpm.group.iteye.com/gro ... -
jBPM4:在Listen中使用Spring的Bean
2010-12-07 10:23 1908jBPM和Spring结合,在spring中配置了大量的Bea ... -
jBPM4:sub-process
2010-11-16 10:03 1850看了一下sub-process, ... -
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤
2010-10-29 11:17 5883流程执行时,有时候需要看一下当前的工作卡在哪一步了,对于熟悉流 ... -
jBPM4:接在现有的系统上,需要更换用户体系
2010-10-08 17:59 2382在现有的应用上,接入jBPM,要修改的就是jBPM的用户体系。 ... -
jBPM4.4:ForEach的使用--动态设置参与人数
2010-09-13 14:34 7721流程确定的情况下,有时候完成一个步骤人数不确定,在任务发布的时 ... -
jBPM4.4:动态创建连接
2010-09-02 18:23 2384参考了这篇文档的思路: http://man1900.ite ... -
jBPM4.4:完成任务的几种方法
2010-09-02 13:46 1787开始了一个Process,需要完成任务,完成任务有以下几种方法 ... -
jBPM4.4:ProcessFactory和ProcessDefinitionBuilder
2010-08-31 15:44 1597在文档中,有例子可以 ... -
jBPM4.4:在看开发指南之前总结一下
2010-08-31 10:08 2153jBPM4.4: 源头是Config ... -
jBPM4.4 -- 深入了解数据库结构、关系
2010-08-27 17:13 2917重新深入了解jBPM4.4的数据库表、以及之间的关系: ... -
jBPM4.4: 动态创建执行路径 -- 类似与会签等
2010-08-25 16:23 6494工作场景: 有一项任务需要完成,不同的部门领导根据实际情况,有 ... -
jBPM4.4:ProcessDefinition/ProcessInstance/Execution/Task关系和区别
2010-08-24 16:06 9959ProcessDefinition : 这 ... -
jBPM4.4:分配任务的几种方式
2010-08-24 11:19 3369在jBPM中,分配任务可以有几种方式: 按照分配对象,可以分 ... -
jBPM4.4:获取现有的流程
2010-08-19 16:50 1537通过repositoryService, 获取一个Proces ... -
jBPM4.4:创建一个流程的实例
2010-08-19 13:42 3043发布了流程后,创建一个实例,进行执行。 ProcessEng ... -
jBPM4.4:发布自己第一个流程
2010-08-19 11:41 2852开始自己着手尝试:先发布自己第一个流程: 用Eclip ...
相关推荐
总结来说,JBPM4.4+Hibernate3.5.4+Spring3.0.4+Struts2.1.8的整合是一项涉及多个层面的工作,需要对每个组件有深入的理解,并能熟练配置和使用。通过这个整合,开发者能够构建出强大的业务流程管理系统,同时利用...
**Jbpm4.4整合Spring Hibernate4详解** Jbpm4.4是一个流程管理系统,它结合了业务流程管理(BPM)和工作流服务,提供了强大的流程定义、执行和监控能力。在这个版本中,Jbpm与Spring框架和Hibernate ORM工具进行了...
1. **系统架构**:jBPM4.4基于Eclipse Persistence API(JPA)和Hibernate ORM,提供了持久化服务,确保流程实例的可靠存储。它还包括一个规则引擎,如Drools,用于业务规则的处理。 2. **流程定义**:jBPM支持使用...
通过JBPM4.4、Spring和EXT的整合,可以构建出一个功能完善、易用性强的流程管理系统,不仅能够有效地管理业务流程,还能提供直观的用户界面,提升用户体验。这种整合方式在现代企业级应用中具有很高的实用价值。
【标题】"jbpm4.4spring.rar_jbpm4_jbpm4.4" 提供的是一个关于JBPM4.4与Spring框架整合的实际应用案例。JBPM(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行、管理和监控...
jbpm4.4版本在前一代的基础上进行了诸多改进和增强,包括更强大的工作流引擎、优化的性能以及对Java EE和Spring框架更好的支持。 二、jbpm4.4的主要特性 1. 工作流引擎:jbpm4.4的核心是其工作流引擎,它负责执行...
SSH和JBPM是两个在Java开发领域中广泛使用的框架,SSH代表Spring、Struts和Hibernate,而JBPM则是一个流程管理平台。这篇文章将详细介绍如何整合SSH与JBPM 4.4,以及它们整合后能带来的优势。 首先,让我们了解SSH...
这个集成项目是基于特定版本的这些技术,包括jbpm4.4(业务流程管理),spring2.5.6(依赖注入和事务管理),hibernate 3.6(对象关系映射),以及struts2.2.1(MVC框架)。下面将详细介绍这些组件以及它们如何协同...
**jbpm4.4与SSH2的项目整合详解** jbpm4.4是JBoss公司提供的一个开源工作流管理系统,它允许开发者在Java应用程序中轻松地...提供的"jbpm4.4+ssh2jar包"包含了整合所需的jar文件,可以帮助开发者快速搭建和测试环境。
jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...
jBPM 4.4 使用Hibernate作为默认的持久化层,可以轻松地将流程实例和相关数据存储到数据库中。这使得流程实例能够在系统重启后继续,同时也支持数据的查询和审计。 **六、监控与管理** jBPM 4.4 提供了一个Web管理...
综上所述,jBPM与SSH框架的整合涉及到多个方面的配置和编码工作,需要开发者具备良好的Java编程基础以及对各框架原理的深刻理解。通过合理的规划和细致的实施,可以构建出既灵活又高效的企业级应用系统。
**jBPM4.4与SSH整合配置及完整实例详解** jBPM(Java Business Process Management)是一款开源的工作流管理系统,主要用于处理业务流程自动化。在本实例中,我们将讨论如何将jBPM 4.4版本与SSH(Spring、Struts、...
【jbpm4.4+SSH】是一个集成的Java企业级应用框架,主要涉及的是工作流管理系统jbpm4.4与Spring、Struts2(SSH)三大框架的整合。jbpm4是一个开源的工作流程管理系统,它提供了流程定义、执行、监控和优化等一系列...
"jBPM4.4.docx" 文件可能是关于 jbPM 4.4 示例的详细文档,它可能包含如何安装、配置、创建和运行流程实例的步骤,以及可能遇到的问题和解决办法,对于学习和使用 jbPM 4.4 是非常有价值的参考资料。 总结,jbPM ...
【jbpm4.4+s2sh请假流程例子】是一个典型的结合了jbpm4.4工作流引擎和Struts2、Spring、Hibernate(S2SH)框架的实战项目,旨在演示如何在企业级应用中实现一个完整的请假流程。在这个例子中,jbpm4.4作为流程管理的...
4. **持久化存储**:jbpm4.4使用Hibernate进行数据持久化,保存流程实例、任务和变量等信息。这使得流程状态可以在系统重启后恢复,也支持多用户并发操作。 5. **监听器与事件**:通过监听器,可以实现对流程中的...