其实很简单,跟着我做吧!
前提,jbpm的表和业务表都放在一个用户里面,这样可以共用一个sessionFactory,否则要用到分布式事务。
准备工作
0,拷贝jbpm-3.1.4.jar,jbpm-identity-3.1.4.jar, spring-modules-jbpm31.jar
到lib中。
从jbpm-3.1.4.jar 中解开default.jbpm.cfg.xml文件,并修改
<jbpm-context>
成
<jbpm-context name= "default.jbpm.context">
改名为jbpm.cfg.xml。
放到lib下。估计放classes下也可以,没有时间试。
1,集成jbpm 的hbm文件,红色是新加的。
<property name="mappingDirectoryLocations">
<list>
<value>classpath:/com/juyee/mp/hbm</value>
</list>
</property>
<property name="mappingJarLocations">
<list>
<value>classpath*:jbpm-3.1.4.jar</value>
<value>classpath*:jbpm-identity-3.1.4.jar</value>
</list>
</property>
2,配置jbpm相关的service。
<bean id="jbpmConfiguration"
class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean">
<property name="sessionFactory" ref="sessionFactoryBean"/>
<property name="configuration" value="classpath:jbpm.cfg.xml"/>
</bean>
<bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate">
<constructor-arg index="0" ref="jbpmConfiguration"/>
</bean>
<!--上面的template是不是看起来不爽,Hibernate 的service好像没有这个东西,
但没有办法,不加不行!
-->
<bean id="jbpmService" parent="proxyFactoryBean">
<property name="target">
<bean class="com.juyee.mp.service.JbpmService">
<property name="template">
<ref bean="jbpmTemplate"/>
<!--注意了,不是注入jbpmConfiguration -->
</property>
</bean>
</property>
</bean>
3,JbpmService是什么样子呢?
public class JbpmService extends JbpmDaoSupport
{
public ProcessInstance findProcessInstance(final Long processInstanceId)
{
return getTemplate().findProcessInstance(processInstanceId);
}
/**
* @see org.springmodules.workflow.jbpm31.JbpmOperations#findProcessInstances()
*/
public List findProcessInstances()
{
return getTemplate().findProcessInstances();
}
//复杂一点的例子
public void saveWorkFlowDefinition(String xmlStr)
{
final ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(xmlStr);
//call spring jbpm call back for save processdefinition
getTemplate().execute(new JbpmCallback()
{
public Object doInJbpm(JbpmContext jbpmContext) throws JbpmException
{
GraphSession gSession = jbpmContext.getGraphSession();
gSession.saveProcessDefinition(processDefinition);
return processDefinition;
}
});
}
....
}
大功告成!
分享到:
相关推荐
Spring 是一个全面的企业级应用开发框架,提供了包括依赖注入、AOP(面向切面编程)、事务管理、数据访问、Web 应用以及更多的功能。在Struts 和 Hibernate 的基础上,Spring 提供了一个统一的平台,整合了这些框架...
在本项目中,Spring用于管理Bean的生命周期,处理事务,以及与其它框架如Struts、Hibernate的集成。 2. **Struts框架**:Struts是MVC(Model-View-Controller)架构模式的一个实现,主要用于控制应用程序的流程。在...
Ch 20 文件可能包含了这个示例的源代码或相关文档,包括Struts配置文件、Hibernate映射文件、Spring配置文件以及jBPM流程定义文件等。 学习这个例子,你可以了解如何将这些组件集成在一起,实现一个高效、可维护的...
整合这些技术时,开发者通常会创建一个综合的配置文件体系,例如Spring的配置文件可以管理所有组件的依赖和配置,通过引入Struts、Hibernate、JPA、Lucene、JBPM和Compass的相关配置。这需要对每个框架的原理有深入...
开发者可以通过研究这些文件,了解如何将Struts2、Spring、Hibernate和Jbpm集成起来,实现一个完整的公文审批流程。这个实例不仅可以帮助学习者理解这些技术的用法,还可以作为模板,用于构建其他类型的工作流应用,...
【JBPM4.4+Spring+EXT 整合详解】 JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程自动化。版本4.4是JBPM的一个重要里程碑,它提供了强大的工作流设计、执行和监控能力...
SSH+JBPM整合是一个在Java开发领域常见的技术组合,用于构建复杂的业务流程管理系统。SSH代表Struts2、Spring和Hibernate,它们分别是MVC框架、依赖注入容器和对象关系映射库,而JBPM则是一个开源的工作流和业务流程...
本文将深入探讨如何将Spring 3.2与jBPM 6整合,以实现高效、灵活的企业级业务流程自动化。 Spring是一个开源的Java平台,它为构建企业级应用提供了全面的框架支持,包括依赖注入、AOP(面向切面编程)、数据访问、...
在本系统中,Spring可能被用来管理Struts的Action实例,进行事务控制,以及提供与Hibernate的整合。 **Hibernate** 是一款流行的Java ORM(对象关系映射)框架,它简化了数据库操作,通过映射Java对象到数据库表,...
在"ssh+jbpm整合实力"的项目中,我们可以看到将SSH框架与Jbpm工作流引擎进行了集成,用于实现一个发布文章的流程。这个流程可能涉及到文章的创建、审核、发布等多个环节,通过Jbpm的流程定义语言(BPMN)来设计和控制...
在jbpm4.0中,你可以通过流程定义语言BPMN(Business Process Modeling Notation)来设计复杂的业务流程,并且集成了对持久化、事务和规则的支持。 **ext3.0** EXTJS是一个基于JavaScript的富客户端UI库,EXT3.0是...
SSH+jBPM5.4是一个基于Java的企业级应用开发框架组合,主要涵盖了Spring、Struts和Hibernate这三大组件,以及业务流程管理(Business Process Management,简称BPM)工具jbpm5.4。这个项目组合提供了从表现层到数据...
【jbpm4整合struts2+spring2.5+hibernate3.3】的集成是企业级应用开发中常见的技术栈组合,旨在利用各框架的优势实现高效、灵活的业务流程管理。jbpm4是一个开源的工作流管理系统,用于定义、执行和管理业务流程。...
在本项目中,Jbpm 4.4 被整合到Spring框架中,用于实现流程驱动的应用,如审批流程、订单处理等。 **MySQL 数据库** MySQL 是一种流行的关系型数据库管理系统,广泛应用于Web应用。在本项目中,MySQL被选为后端...
SSH+JBPM4.3的整合是企业级应用开发中的一种常见组合,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM4.3则是一个强大的工作流管理系统,用于实现业务流程自动化。这篇内容将深入探讨这两个技术...
1. **ExtJS4+SSH2+JBPMʵۣ.docx** - 这个文件名可能包含了一个完整的实现案例,涵盖了ExtJS 4与SSH2(Spring、Struts、Hibernate三大Java开源框架的组合)以及jbpm4的整合。文档可能包含了详细步骤、代码片段和解释...
8. **spring-modules-jbpm31.jar**:这个 JAR 文件很可能是 Spring 与 JBPM 3.1 版本的集成组件,包含了必要的桥接和适配器类,以便于在 Spring 环境中使用 JBPM。 9. **readme.txt**:这个文件通常包含集成指南、...
标题中的“spring与JBPM整合ppt”指的是将Spring框架与JBPM(Business Process Management,业务流程管理)系统相结合,以实现更加高效、灵活的企业级应用流程管理。在本PPT中,我们预计会探讨以下几个核心知识点: ...
2. 配置Spring:配置Spring的核心容器,包括bean的定义、事务管理、数据源以及Activiti的相关配置。使用`applicationContext.xml`文件进行这些配置。 3. 集成Spring MVC:配置Spring MVC的DispatcherServlet,定义...
在这个场景中,我们讨论的是如何将Spring 2.5.4、Hibernate 3.2.6、Struts2以及jbpm 3.2.2这四个组件集成到一个项目中。下面将分别介绍这些组件以及它们在整合过程中的配置细节。 1. **Spring 2.5.4**: Spring 是...