版本:
jbpm4.4
spring3.0
mysql5.1.40
jbpm4.4
spring3.0
mysql5.1.40
直接从jbpm4.4自带的文件到src目录:
从jbpm-4.4/install/src/cfg/hibernate/jdbc复制mysql.hibernate.cfg.xml到src目录,文件名改为jbpm.hibernate.cfg.xml。
从jbpm-4.4/install/src/cfg/spring复制applicationContext.xml到src目录。
从jbpm-4.4/install/src/cfg/jbpm复制spring.jbpm.cfg.xml到src目录,文件名改为jbpm.cfg.xml。
修改applicationContext.xml、jbpm.hibernate.cfg.xml的数据库配置信息,jbpm4.4与spring的集成就完成了,可以自己写测试文件测试,集成非常容易。
从jbpm-4.4/install/src/cfg/hibernate/jdbc复制mysql.hibernate.cfg.xml到src目录,文件名改为jbpm.hibernate.cfg.xml。
从jbpm-4.4/install/src/cfg/spring复制applicationContext.xml到src目录。
从jbpm-4.4/install/src/cfg/jbpm复制spring.jbpm.cfg.xml到src目录,文件名改为jbpm.cfg.xml。
修改applicationContext.xml、jbpm.hibernate.cfg.xml的数据库配置信息,jbpm4.4与spring的集成就完成了,可以自己写测试文件测试,集成非常容易。
修改
jbpm.hibernate.cfg.xml
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">XXXXX</property>
<property name="hibernate.format_sql">true</property>
修改applicationContext.xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/jbpm" />
<property name="username" value="root" />
<property name="password" value="tt880217" />
</bean>
如果想修改
jbpm.hibernate.cfg.xml的名为hibernate.cfg.xml,可在applicationContext.xml中修改。
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
测试文件结构:
附:
Test.java
package com.egtc.test;
import java.util.List;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.TaskService;
import org.jbpm.api.task.Task;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
/**
* @param args
*/
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("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());
}
}
}