jbpm4.2与spring集成有点问题,直接跟据它自己的“开发指南”提供的方法是不能集成的。在官网查到的信息是发布4.2时,忘记更新集成spring的文件。不过4.3已经把该bug改过来了。下面是集成方法。
版本:
jbpm4.3
spring2.5.6
mysql5.1.40
直接从jbpm4.3自带的文件到src目录:
从jbpm-4.3"install"src"cfg"hibernate"jdbc复制mysql.hibernate.cfg.xml到src目录,文件名改为hibernate.cfg.xml。
从jbpm-4.3"install"src"cfg"spring复制applicationContext.xml到src目录。
从jbpm-4.3"install"src"cfg"jbpm复制spring.jbpm.cfg.xml到src目录,文件名改为jbpm.cfg.xml。
修改applicationContext.xml、hibernate.cfg.xml的数据库配置信息,jbpm4.3与spring的集成就完成了,可以自己写测试文件测试,集成非常容易。
不过在applicationContext.xml和hibernate.cfg.xml两个文件都要改数据库信息有点麻烦,所以只复制applicationContext.xml、spring.jbpm.cfg.xml两个文件到src目录,把hibernate.cfg.xml的配置整进spring的配置文件applicationContext.xml中。
applicationContext.xml
<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:p="http://www.springframework.org/schema/p"
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">
<context:annotation-config />
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="hibernate.properties"
p:ignoreUnresolvablePlaceholders="true" />
<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="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>jbpm.repository.hbm.xml</value>
<value>jbpm.execution.hbm.xml</value>
<value>jbpm.history.hbm.xml</value>
<value>jbpm.task.hbm.xml</value>
<value>jbpm.identity.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${dataSource.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">${dataSource.hbm2ddl.auto}</prop>
</props>
</property>
</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="${dataSource.driverClassName}" />
<property name="url" value="${dataSource.url}" />
<property name="username" value="${dataSource.username}" />
<property name="password" value="${dataSource.password}" />
</bean>
</beans>
新建文件hibernate.properties,主要用来配置连接数据库信息
dataSource.password=123
dataSource.username=root
dataSource.databaseName=jbpmdb
dataSource.driverClassName=com.mysql.jdbc.Driver
dataSource.dialect=org.hibernate.dialect.MySQLInnoDBDialect
dataSource.serverName=localhost:3306
dataSource.url=jdbc:mysql://${dataSource.serverName}/${dataSource.databaseName}
dataSource.properties=user=${dataSource.username};databaseName=${dataSource.databaseName};serverName=${dataSource.serverName};password=${dataSource.password}
dataSource.hbm2ddl.auto=update以后要改数据库配置信息也只在这个文件修改就可以了。
测试用的流程swing.jpdl.xml
<?xml version="1.0" encoding="UTF-8"?>
<process name="swing" xmlns="http://jbpm.org/4.3/jpdl">
<start g="94,64,48,48" name="start1">
<transition g="-52,-22" name="A" to="A"/>
</start>
<task assignee="A" g="73,195,92,52" name="A">
<transition g="-52,-22" name="B" to="B"/>
</task>
<task assignee="B" g="266,192,92,52" name="B">
<transition g="-40,-21" name="end" to="end1"/>
</task>
<end g="290,327,48,48" name="end1"/>
</process>
测试代码
public class Main {
public static void main(String[] args) {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
applicationContext.start();
ProcessEngine processEngine = (ProcessEngine)applicationContext.getBean("processEngine");
ExecutionService executionService = processEngine.getExecutionService();
TaskService taskService = processEngine.getTaskService();
//发布流程
String deploymentId = processEngine.getRepositoryService().createDeployment()
.addResourceFromClasspath("resource/swing.jpdl.xml").deploy();
System.out.println("流程发布ID:"+deploymentId);
//启动一个流程实例
ProcessInstance processInstance = executionService.startProcessInstanceByKey("swing");
System.out.println("流程实例ID:" + processInstance.getId());
//A处理任务
List<Task> taskList_A = taskService.findPersonalTasks("A");
System.out.println("A待处理任务数:" + taskList_A.size());
if(taskList_A.size() > 0){
Task task = taskList_A.get(0);
taskService.completeTask(task.getId());
}
//B处理任务
List<Task> taskList_B = taskService.findPersonalTasks("B");
System.out.println("B待处理任务数:" + taskList_B.size());
if(taskList_B.size() > 0){
Task task = taskList_B.get(0);
taskService.completeTask(task.getId());
}
}
}
分享到:
相关推荐
### jbpm4.3与Spring框架的整合指南 在企业级应用开发中,流程管理引擎JBPM(JBoss Business Process Management)与Spring框架的结合使用是常见的一种技术方案。JBPM是一个灵活、强大的业务流程管理工具,而Spring...
SSH+JBPM4.3的整合是企业级应用开发中的一种常见组合,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM4.3则是一个强大的工作流管理系统,用于实现业务流程自动化。这篇内容将深入探讨这两个技术...
jbpm4.3-spring2.5整合是一个关键的话题,涉及到企业级工作流管理系统Jbpm与Spring框架的集成。Jbpm是一个开源的工作流程管理(BPM)和业务规则管理系统,它允许开发者设计、执行、管理和监控业务流程。而Spring是...
1. **jBPM 4视频教程01:配置开发环境** - 这一章节将引导学习者搭建JBPM4.3的开发环境,包括安装Eclipse IDE(集成开发环境)以及jbpm-gpd-site.zip这个插件。jbpm-gpd-site.zip是JBPM的图形过程设计器(Graphical ...
jbPM 4.3 可以无缝集成到其他Java EE应用中,例如EJB、JMS、JPA和Spring框架。此外,它还支持与外部系统(如ERP、CRM)的集成,通过服务代理(Service Task)实现服务调用。 **9. 持久化机制** jbPM 4.3 使用JPA...
本文详细介绍了如何搭建jBPM4.3与SSH的开发环境,包括jBPM的基础知识、下载与安装步骤、数据库初始化、Spring配置等内容。对于初学者来说,这是一个很好的起点,可以帮助他们快速入门jBPM及其相关技术栈。通过实践...
**JBPM4.3 整合 Spring2.5.6 的例子** 在企业级应用开发中,流程管理和任务调度是至关重要的部分。JBoss Business Process Management (JBPM) 是一个开源的工作流和业务流程管理系统,它支持BPMN 2.0标准,提供流程...
JBPM4.3 提供了与 Eclipse 和 Tomcat 的集成。用户可以使用 ant get.eclipse 命令下载一个包含流程设计器的 Eclipse JEE,然后使用 ant get.tomcat 命令下载一个配置好了环境的 Tomcat。执行完 ant get.tomcat 后,...
jbpm4.3与SSH整合可以实现将业务流程与应用程序逻辑紧密集成,提高系统的灵活性和可扩展性。 SSH与jbpm4.3的整合主要涉及以下几个方面: 1. **Struts2与jbpm4.3的集成**:Struts2作为前端控制器,负责处理用户的...
**jbpm4.3所需jar包** JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。在JBPM 4.3版本中,为了实现完整功能,需要一系列的jar包来支持其运行环境。...
6. **集成能力**:jbpm4.3可与Spring框架无缝集成,便于在企业级应用环境中使用。此外,还可以与其他技术如JMS、EJB、Web服务等集成。 7. **流程模拟和调试**:jbpm4.3提供了流程模拟功能,允许开发者在不实际执行...
- **Spring**:jbpm4.3可以与Spring框架无缝集成,利用Spring的依赖注入和事务管理功能,提高代码的可测试性和可维护性。 - **Struts**:Struts作为MVC框架,可以负责视图层的展示,jbpm处理业务流程,两者结合...
7. **集成能力(Integration Capabilities)**:JBPM4.3可以与其他Java应用无缝集成,例如Spring框架。此外,还支持服务调用,如EJB、Web服务等,这在实际业务场景中非常有用。 8. **监控与调试(Monitoring & ...
- **集成能力**:jbpm4.3可以与各种企业应用集成,如Spring、Hibernate等,实现业务流程与企业应用的无缝对接。 **3. jbpm4.3的使用步骤** - **环境配置**:首先,需要安装Java运行环境,并设置好JDK路径。然后,...
5. **集成能力(Integration Capabilities)**:jbpm4.3可以与多种系统集成,如EJB、Spring、Hibernate等,使得流程可以与其他企业服务交互。 接下来,我们探讨一下jbpm4.3的实例项目: - **examples目录**:这个...
因此,jBPM4.3与JBoss 4.3版本有紧密的集成,可以在JBoss应用服务器上无缝运行,提供企业级的稳定性和扩展性。 5. **源码分析**:通过查看jbpm-4.3-src中的源码,开发者可以深入了解jBPM的工作原理,学习如何实现...
jbpm4.3易于与其他企业应用集成,如Spring框架、EJB、JMS等,可构建完整的业务解决方案。 **12. 扩展性** jbpm4.3允许开发者通过编写自定义服务、监听器和工作流扩展点来满足特定需求,增强了框架的灵活性。 总结...
在集成方面,jbpm4.3 API与Spring框架有良好的兼容性,可以方便地在Spring应用中使用jbpm,实现服务和流程的无缝集成。此外,jbpm还提供了RESTful API,便于与其他非Java环境的系统进行交互。 最后,"jbpm4.3 API....
集成与扩展 - **Spring整合**: 支持与Spring框架的无缝集成,便于应用管理和依赖注入。 - **Web服务API**: 提供RESTful和SOAP API,便于远程调用和集成其他系统。 - **定制扩展**: 可以自定义工作流监听器、任务...