- 浏览: 191925 次
- 性别:
- 来自: 许昌
-
最新评论
-
kingrlf:
可以啊,小伙子
dom4j 和jdom的使用用法及jar包下载 -
a574258039:
...
dom4j 和jdom的使用用法及jar包下载 -
lantianroom:
好东西
dom4j 和jdom的使用用法及jar包下载 -
文昌平蓝杰:
好东西,正需要
dom4j 和jdom的使用用法及jar包下载 -
yao7397:
好东西,谢了
dom4j 和jdom的使用用法及jar包下载
我遇到的问题,注意看:
1、将juel.jar, juel-engine.jar, juel-impl.jar这三个包复制到tomcat6下lib中,并删除原来的el-api.jar,切记要把WEB-INF\lib中的juel.jar, juel-engine.jar, juel-impl.jar删除。不然还是要冲突。
2、java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
网上说是xerces.jar的版本问题,于是到http://xml.apache.org/dist/xerces-j/下載 Xerces-J-bin.2.9.1.zip 将项目中的xerces-2.6.2.jar給換掉成Xerces-J-bin.2.9.1.zip中的xercesImpl.jar 最下面我提供了下载
3、我用的myeclipse是8.5版本,好像最低要8.0的才能和jbpm4.3的兼容
正文:
jBPM是一个开源工作流软件,后台老大是JBoss。继2009年11月5日jBPM 4.2发布之后,2009年12月29日jBPM 4.3闪亮登场,而jBPM 4.4则计划在2010年3月1日发布。
为了能对jBPM 4.3快速入手,这里介绍如何安装部署jBPM自带的Demo Setup示例。
一.安装目标
我们希望的环境是:tomcat6.0.20为web服务器,MySQL 5.1.11为数据库,Eclipse 3.5 SR1为编辑器,建立一个jBPM的环境并通过jBPM自带的脚本安装Demo Setup。
二.必要的前置工作
1.确认JDK版本在1.5以上,ANT版本在1.7以上;
2.下载jBPM(下载地址 );
3.解压缩到本地磁盘,然后可以看到如下的目录树结构:
${jbpm.home} (这里用${jbpm.home}代表jBPM解压后的根目录,下同)
de> ├─doc 用户手册、shema docs、javadocs、开发手册
├─examples 用户手册中提到的一些示例
├─install 几种环境下的安装脚本
├─lib 第三方类库和一些特殊的jBPM类库
├─migration 详细内容请参考开发手册
├─src 源文件
└─jbpm.jar jBPM核心类库de>
4.下载MySQL数据库服务器,并安装和进行基本的配置,并且建立目标数据库(版本5.1以上不限,这里以比较老的5.1.11为例,下载地址 ,如果希望用hsqldb的可以忽略此步骤);
5.下载tomcat 6.0.20(下载地址 ),放在${jbpm.home}\install\downloads下;
6.下载Eclipse 3.5 SR1,Eclipse IDE for Java EE Developers或Eclipse IDE for Java and Report Developers版本(下载地址 ),放在${jbpm.home}\install\downloads下;
注:5、6两步为非必要但建议执行的步骤,如果不执行5、6两步,jBPM将自动从互联网下载,但至于网速……
三.具体安装步骤
1.用文本编辑软件打开install/build.xml
1.1<property name="database" value="hsqldb" />一行里的“hsqldb”改为“mysql”(如果希望用默认的hsqldb的可以不修改);
1.2<condition property="eclipse.filename" value="eclipse-jee-galileo-win32.zip">一行里的eclipse文件名改为:eclipse- reporting-galileo-SR1-win32.zip(具体名字与下载的Eclipse相同)
2.修改install/jdbc/mysql.properties文件,设置合适的参数(如果采用hsqldb可以忽略此步);
3.在命令行模式运行命令:ant demo.setup.tomcat
4.运行完后会打开eclipse,请关闭eclipse,否则脚本不算运行完成。
这样Demo Setup就运行完毕了,检验Demo Setup运行是否成功可以登录the Signavio web editor 或the jBPM console ,系统默认的用户名是:alex、mike、peter、mary,默认密码都是:password。
在脚本运行过程中,执行了以下的任务:
1.安装tomcat到${jbpm.home}/apache-tomcat-6.0.20目录下;
2.安装jBPM到tomcat中;
3.在mysql创建jBPM需要的tables;
4.在后台启动tomcat;
5.从examples里创建一个叫examples.bar的业务包,并部署到jBPM DB中;
6.从${jbpm.home}/install/src/demo/example.identities.sql载入example用户和用户 组;
7.安装eclipse到${jbpm.home}/eclipse;
8.安装jBPM web控制台;
9.安装Signavio web模块;
10.启动eclipse。
jbpm4.3 eclipse下 hellworld
1.下载JBPM4.3
http://sourceforge.net/projects/jbpm/files/
下载后解压,你将看到有以下的子目录
* install:安装jbmp所需配置文件
* doc: 用户手册,javadoc和开发指南
* examples: 用户手册中用到的示例流程
* lib: 第三方库和一些特定的jBPM依赖库
* src: 源代码
* jbpm.jar: jBPM主库归档
*migration:貌似是低版本迁移文件,没用上还
2.下载jdk(标准java5或更高版本)
3.在eclipse官网下载最新版本的eclipse
4.在eclipse上安装GPD插件
步骤如下
* Help-->Install New Software
* 点击Add
* 在Add Site 对话框里点击Archive....
* 在JBPM4.0 HOME中找到install\src\gpd\jbpm-gpd-site.zip 并点击 '打开'
* 选择出现的 jPDL 4 GPD 更新站点
* 点击 下一步.. 然后点击 完成
* 接受协议..
* 当它询问的时候重启eclipse
注意:安装过程会很慢,一定要耐心的等待。
5.新建一个java项目,加入jbpm4的依赖包。
*JBPM4_HOME/jbpm.jar
*JBPM4_HOME/lib/*.jar
6.在项目的src目录下点击右键-->New-->JBPM 4 Process Definetion,在弹出的对话框的File Name 中填写hello,该文件是以jpdl.xml为后缀结尾的,然后点击Finish。
7.在hello.jpdl.xml中绘制一个简单的流程图,包含一个start活动,一个state活动和一个end活动,然后用转移(transition)将他们链接起来.
Java 代码
<?xml version="1.0" encoding="UTF-8"?>
<process name="hello" xmlns="http://jbpm.org/4.0/jpdl">
<start name="start1" g="247,64,48,48">
<transition name="to state1" to="state1" g="-59,-17"/>
</start>
<state name="state1" g="254,167,92,52">
<transition name="to end1" to="end1" g="-47,-17"/>
</state>
<end name="end1" g="244,277,48,48"/>
</process>
<?xml version="1.0" encoding="UTF-8"?>
<process name="hello" xmlns="http://jbpm.org/4.0/jpdl">
<start name="start1" g="247,64,48,48">
<transition name="to state1" to="state1" g="-59,-17"/>
</start>
<state name="state1" g="254,167,92,52">
<transition name="to end1" to="end1" g="-47,-17"/>
</state>
<end name="end1" g="244,277,48,48"/>
</process>
8.把JBPM4_HOME/examples/src中除org外的文件全部拷贝到你项目下的src目录中。
9.在你项目的src目录下建一个测试类
Java 代码
package com;
import junit.framework.TestCase;
import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.RepositoryService;
public class HelloTest extends TestCase {
ProcessEngine processEngine = null;
String deployId = null;
//主要是用来发布流程
RepositoryService repositoryService = null;
//主要用来启动流程,执行流程
ExecutionService executionService = null;
protected void setUp() {
processEngine = new Configuration().buildProcessEngine();
repositoryService = processEngine.getRepositoryService();
executionService = processEngine.getExecutionService();
//将定义的流程配置文件部署到数据库中
deployId = repositoryService.createDeployment().addResourceFromClasspath("hello.jpdl.xml").deploy();
}
protected void tearDown() {
repositoryService.deleteDeploymentCascade(deployId);
}
public void testEndHelloWorld() {
//启动流程实例
ProcessInstance processInstance = executionService.startProcessInstanceByKey("hello");
//启动流程后我们的流程会自动进入到state1活动,并处在等待状态
assertTrue(processInstance.isActive("state1"));
String pid = processInstance.getId();
//让state1活动继续往下执行,并进入结束活动,流程结束
processInstance = executionService.signalExecutionById(pid);
assertTrue(processInstance.isEnded());
}
}
10.运行测试如没有报错说明已成功。
jbpm4.2与spring集成有点问题,直接跟据它自己的“开发指南”提供的方法是不能集成的。在官网查到的信息是发布4.2时,忘记更新集成 spring的文件。不过4.3已经把该bug改过来了。下面是集成方法。
版本:
jbpm4.3
spring3.0
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());
}
}
}
1、将juel.jar, juel-engine.jar, juel-impl.jar这三个包复制到tomcat6下lib中,并删除原来的el-api.jar,切记要把WEB-INF\lib中的juel.jar, juel-engine.jar, juel-impl.jar删除。不然还是要冲突。
2、java.lang.AbstractMethodError: org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
网上说是xerces.jar的版本问题,于是到http://xml.apache.org/dist/xerces-j/下載 Xerces-J-bin.2.9.1.zip 将项目中的xerces-2.6.2.jar給換掉成Xerces-J-bin.2.9.1.zip中的xercesImpl.jar 最下面我提供了下载
3、我用的myeclipse是8.5版本,好像最低要8.0的才能和jbpm4.3的兼容
正文:
jBPM是一个开源工作流软件,后台老大是JBoss。继2009年11月5日jBPM 4.2发布之后,2009年12月29日jBPM 4.3闪亮登场,而jBPM 4.4则计划在2010年3月1日发布。
为了能对jBPM 4.3快速入手,这里介绍如何安装部署jBPM自带的Demo Setup示例。
一.安装目标
我们希望的环境是:tomcat6.0.20为web服务器,MySQL 5.1.11为数据库,Eclipse 3.5 SR1为编辑器,建立一个jBPM的环境并通过jBPM自带的脚本安装Demo Setup。
二.必要的前置工作
1.确认JDK版本在1.5以上,ANT版本在1.7以上;
2.下载jBPM(下载地址 );
3.解压缩到本地磁盘,然后可以看到如下的目录树结构:
${jbpm.home} (这里用${jbpm.home}代表jBPM解压后的根目录,下同)
de> ├─doc 用户手册、shema docs、javadocs、开发手册
├─examples 用户手册中提到的一些示例
├─install 几种环境下的安装脚本
├─lib 第三方类库和一些特殊的jBPM类库
├─migration 详细内容请参考开发手册
├─src 源文件
└─jbpm.jar jBPM核心类库de>
4.下载MySQL数据库服务器,并安装和进行基本的配置,并且建立目标数据库(版本5.1以上不限,这里以比较老的5.1.11为例,下载地址 ,如果希望用hsqldb的可以忽略此步骤);
5.下载tomcat 6.0.20(下载地址 ),放在${jbpm.home}\install\downloads下;
6.下载Eclipse 3.5 SR1,Eclipse IDE for Java EE Developers或Eclipse IDE for Java and Report Developers版本(下载地址 ),放在${jbpm.home}\install\downloads下;
注:5、6两步为非必要但建议执行的步骤,如果不执行5、6两步,jBPM将自动从互联网下载,但至于网速……
三.具体安装步骤
1.用文本编辑软件打开install/build.xml
1.1<property name="database" value="hsqldb" />一行里的“hsqldb”改为“mysql”(如果希望用默认的hsqldb的可以不修改);
1.2<condition property="eclipse.filename" value="eclipse-jee-galileo-win32.zip">一行里的eclipse文件名改为:eclipse- reporting-galileo-SR1-win32.zip(具体名字与下载的Eclipse相同)
2.修改install/jdbc/mysql.properties文件,设置合适的参数(如果采用hsqldb可以忽略此步);
3.在命令行模式运行命令:ant demo.setup.tomcat
4.运行完后会打开eclipse,请关闭eclipse,否则脚本不算运行完成。
这样Demo Setup就运行完毕了,检验Demo Setup运行是否成功可以登录the Signavio web editor 或the jBPM console ,系统默认的用户名是:alex、mike、peter、mary,默认密码都是:password。
在脚本运行过程中,执行了以下的任务:
1.安装tomcat到${jbpm.home}/apache-tomcat-6.0.20目录下;
2.安装jBPM到tomcat中;
3.在mysql创建jBPM需要的tables;
4.在后台启动tomcat;
5.从examples里创建一个叫examples.bar的业务包,并部署到jBPM DB中;
6.从${jbpm.home}/install/src/demo/example.identities.sql载入example用户和用户 组;
7.安装eclipse到${jbpm.home}/eclipse;
8.安装jBPM web控制台;
9.安装Signavio web模块;
10.启动eclipse。
jbpm4.3 eclipse下 hellworld
1.下载JBPM4.3
http://sourceforge.net/projects/jbpm/files/
下载后解压,你将看到有以下的子目录
* install:安装jbmp所需配置文件
* doc: 用户手册,javadoc和开发指南
* examples: 用户手册中用到的示例流程
* lib: 第三方库和一些特定的jBPM依赖库
* src: 源代码
* jbpm.jar: jBPM主库归档
*migration:貌似是低版本迁移文件,没用上还
2.下载jdk(标准java5或更高版本)
3.在eclipse官网下载最新版本的eclipse
4.在eclipse上安装GPD插件
步骤如下
* Help-->Install New Software
* 点击Add
* 在Add Site 对话框里点击Archive....
* 在JBPM4.0 HOME中找到install\src\gpd\jbpm-gpd-site.zip 并点击 '打开'
* 选择出现的 jPDL 4 GPD 更新站点
* 点击 下一步.. 然后点击 完成
* 接受协议..
* 当它询问的时候重启eclipse
注意:安装过程会很慢,一定要耐心的等待。
5.新建一个java项目,加入jbpm4的依赖包。
*JBPM4_HOME/jbpm.jar
*JBPM4_HOME/lib/*.jar
6.在项目的src目录下点击右键-->New-->JBPM 4 Process Definetion,在弹出的对话框的File Name 中填写hello,该文件是以jpdl.xml为后缀结尾的,然后点击Finish。
7.在hello.jpdl.xml中绘制一个简单的流程图,包含一个start活动,一个state活动和一个end活动,然后用转移(transition)将他们链接起来.
Java 代码
<?xml version="1.0" encoding="UTF-8"?>
<process name="hello" xmlns="http://jbpm.org/4.0/jpdl">
<start name="start1" g="247,64,48,48">
<transition name="to state1" to="state1" g="-59,-17"/>
</start>
<state name="state1" g="254,167,92,52">
<transition name="to end1" to="end1" g="-47,-17"/>
</state>
<end name="end1" g="244,277,48,48"/>
</process>
<?xml version="1.0" encoding="UTF-8"?>
<process name="hello" xmlns="http://jbpm.org/4.0/jpdl">
<start name="start1" g="247,64,48,48">
<transition name="to state1" to="state1" g="-59,-17"/>
</start>
<state name="state1" g="254,167,92,52">
<transition name="to end1" to="end1" g="-47,-17"/>
</state>
<end name="end1" g="244,277,48,48"/>
</process>
8.把JBPM4_HOME/examples/src中除org外的文件全部拷贝到你项目下的src目录中。
9.在你项目的src目录下建一个测试类
Java 代码
package com;
import junit.framework.TestCase;
import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.RepositoryService;
public class HelloTest extends TestCase {
ProcessEngine processEngine = null;
String deployId = null;
//主要是用来发布流程
RepositoryService repositoryService = null;
//主要用来启动流程,执行流程
ExecutionService executionService = null;
protected void setUp() {
processEngine = new Configuration().buildProcessEngine();
repositoryService = processEngine.getRepositoryService();
executionService = processEngine.getExecutionService();
//将定义的流程配置文件部署到数据库中
deployId = repositoryService.createDeployment().addResourceFromClasspath("hello.jpdl.xml").deploy();
}
protected void tearDown() {
repositoryService.deleteDeploymentCascade(deployId);
}
public void testEndHelloWorld() {
//启动流程实例
ProcessInstance processInstance = executionService.startProcessInstanceByKey("hello");
//启动流程后我们的流程会自动进入到state1活动,并处在等待状态
assertTrue(processInstance.isActive("state1"));
String pid = processInstance.getId();
//让state1活动继续往下执行,并进入结束活动,流程结束
processInstance = executionService.signalExecutionById(pid);
assertTrue(processInstance.isEnded());
}
}
10.运行测试如没有报错说明已成功。
jbpm4.2与spring集成有点问题,直接跟据它自己的“开发指南”提供的方法是不能集成的。在官网查到的信息是发布4.2时,忘记更新集成 spring的文件。不过4.3已经把该bug改过来了。下面是集成方法。
版本:
jbpm4.3
spring3.0
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());
}
}
}
- xercesImpl.jar (1.2 MB)
- 下载次数: 130
评论
3 楼
syzdcs
2012-04-13
很好,正好碰到这个问题,解决了。
2 楼
idiotdog
2010-11-17
谢谢分享!
1 楼
lnx1824
2010-07-14
非常好,正准备用,谢啦!
发表评论
-
MyEclipse 8.5 开发环境配置,汉化,Aptana2.0插件,SVN 插件,Flex Builder 3/4 插件安装
2010-07-17 11:42 1436MyEclipse 8.5 开发环境配 ... -
Spring在SERVICE层(业务层)配置事务
2010-06-04 14:21 2894版本:spring2+hibernate3+struts2 ... -
java实现语音功能 调用speech.dll
2010-06-02 14:55 2159请下载源码,可直接运行: main方法在com\zms\tes ... -
jxl-处理excel的实际例子
2010-06-02 14:48 1268import java.io.*; import jxl.*; ... -
全面挖掘Java Excel API 使用方法
2010-06-02 14:46 1611Workbook类提供的方法 ... -
存储过程的创建和使用
2010-06-02 14:44 3077一。存储过程的创建和使用 1.创建程序包,并在程序中创建存储 ... -
Java相对路径/绝对路径总结
2010-06-02 14:42 1585Java相对路径/绝对路径总结 归纳一些网上取JAVA路径 ... -
FCK编辑器使用手册
2010-06-02 14:41 4198FCK编辑器使用手册2009-03 ... -
Spring+XFire+WSS4J的基本配置
2010-06-02 14:40 2480http://www.blogjava.net/securit ... -
Spring中使用CXF java的webservice
2010-06-02 14:39 1984Spring中使用CXF 关键字: cxf spring we ... -
java条形码 maskbarcode 去广告版
2010-06-02 14:36 1866maskbarcodeByUpdate.jar是maskbar ... -
dom4j 和jdom的使用用法及jar包下载
2010-06-02 13:10 44440提供dom4j.jar、jdom.jar、jaxen-1.1. ... -
事务杂记-hibernate的spring注释事务等(转载)
2010-05-18 22:16 1866Isolation Level(事务隔离等级) 1、Seria ... -
JPA使用指南 javax.persistence的注解配置
2010-05-05 19:39 45714JPA注解持久化类很方便 ... -
JPA使用指南 javax.persistence的注解配置
2010-05-05 17:31 0http://japankn.iteye.com/blog/5 ... -
网站加入Google搜索功能 嵌入Google搜索
2010-05-02 22:35 4095给自己的网站加一个搜索功能很简单,代码如下: 欢迎访问我的博客 ... -
Google地图API 在网站上嵌入谷歌地图API
2010-05-02 18:45 3955Google的地图API很完善,用起来也不复杂。我通过Ja ...
相关推荐
### jbpm4.3与Spring框架的整合指南 在企业级应用开发中,流程管理引擎JBPM(JBoss Business Process Management)与Spring框架的结合使用是常见的一种技术方案。JBPM是一个灵活、强大的业务流程管理工具,而Spring...
jbpm 4.3 与 Spring 集成是一个关键的步骤,特别是在企业级应用开发中,因为jbpm(Java Business Process Management)提供工作流管理服务,而Spring框架则为应用提供了灵活的依赖注入和AOP(面向切面编程)等功能。...
SSH+JBPM4.3的整合是企业级应用开发中的一种常见组合,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM4.3则是一个强大的工作流管理系统,用于实现业务流程自动化。这篇内容将深入探讨这两个技术...
7. **部署与集成**: "content.jar"和"artifacts.jar"可能是jbpm4.3的核心库文件,它们包含实现工作流功能的类和资源。"site.xml"可能涉及到项目的元数据或站点配置,用于构建和发布项目。这些文件都表明jbpm4.3...
1. **jBPM 4视频教程01:配置开发环境** - 这一章节将引导学习者搭建JBPM4.3的开发环境,包括安装Eclipse IDE(集成开发环境)以及jbpm-gpd-site.zip这个插件。jbpm-gpd-site.zip是JBPM的图形过程设计器(Graphical ...
jbpm4.3是JBoss Business Process Management (BPM) Suite的一个版本,它是一个开源的企业级BPM平台,用于设计、执行和管理业务流程。在这个"jbpm4.3工作流程管理例子"中,我们将深入探讨jbpm4.3的核心特性和如何...
jbPM 4.3 可以无缝集成到其他Java EE应用中,例如EJB、JMS、JPA和Spring框架。此外,它还支持与外部系统(如ERP、CRM)的集成,通过服务代理(Service Task)实现服务调用。 **9. 持久化机制** jbPM 4.3 使用JPA...
这些bean是Spring与JBPM交互的基础,通过它们可以启动流程实例、执行任务以及查询流程状态。 其次,创建流程定义(.bpmn文件)来描述会签流程。在这个流程中,可以设置多个并行的任务节点,每个节点代表一个会签的...
本文详细介绍了如何搭建jBPM4.3与SSH的开发环境,包括jBPM的基础知识、下载与安装步骤、数据库初始化、Spring配置等内容。对于初学者来说,这是一个很好的起点,可以帮助他们快速入门jBPM及其相关技术栈。通过实践...
6. **集成能力**:jbpm4.3可与Spring框架无缝集成,便于在企业级应用环境中使用。此外,还可以与其他技术如JMS、EJB、Web服务等集成。 7. **流程模拟和调试**:jbpm4.3提供了流程模拟功能,允许开发者在不实际执行...
2. **安装与配置**:详述如何在开发环境中安装Jbpm4.3,包括所需的Java环境、数据库设置以及Eclipse IDE的集成。 3. **模型设计**:讲解Jbpm流程图的创建,包括任务、事件、决策点等元素,以及如何使用BPMN2.0标准...
JBPM4.3 提供了与 Eclipse 和 Tomcat 的集成。用户可以使用 ant get.eclipse 命令下载一个包含流程设计器的 Eclipse JEE,然后使用 ant get.tomcat 命令下载一个配置好了环境的 Tomcat。执行完 ant get.tomcat 后,...
6. **服务调用**:jbpm4.3支持通过服务任务调用外部系统,如Web服务、EJB等,实现了流程与企业IT系统的无缝集成。 7. **监控与报表**:jbpm4.3提供了一套监控工具,可以跟踪流程实例的执行情况,生成流程统计报告,...
2. **集成环境**:jbpm4.3需要与应用服务器如Tomcat或JBoss以及开发工具Eclipse进行集成。这涉及到服务器和工具的选择、下载、安装和配置。 3. **下载与解压**:首先从指定地址下载jbpm-4.4.zip,虽然题目中给出的...
jbpm4.3与SSH整合可以实现将业务流程与应用程序逻辑紧密集成,提高系统的灵活性和可扩展性。 SSH与jbpm4.3的整合主要涉及以下几个方面: 1. **Struts2与jbpm4.3的集成**:Struts2作为前端控制器,负责处理用户的...
**jbpm4.3所需jar包** JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。在JBPM 4.3版本中,为了实现完整功能,需要一系列的jar包来支持其运行环境。...
- **Spring**:jbpm4.3可以与Spring框架无缝集成,利用Spring的依赖注入和事务管理功能,提高代码的可测试性和可维护性。 - **Struts**:Struts作为MVC框架,可以负责视图层的展示,jbpm处理业务流程,两者结合...
jbpm jbpm4.3.jar DDDDDDDD
其次,"jbpm+tomcat+oracle部署_百度文库.htm"文件则可能涉及的是jbpm4.3在Tomcat应用服务器上与Oracle数据库的集成部署教程。部署jbpm需要配置正确的数据源、环境变量以及web应用上下文。在Tomcat中,我们需要将...
在JBPM4.3版本中,它提供了一系列增强的功能和优化,使得开发者能够更高效地设计、执行和监控复杂的业务流程。在这个例子中,我们将深入探讨JBPM4.3的简单使用,特别是通过一个名为“leave_web”的Web应用程序来展示...