学习jbpm部署部分(转载)
来源:互联网 发布:佳词网络科技集团官网 编辑:程序博客网 时间:2024/06/07 15:39
导读:
所有图片请到jbpm开源站点去查看。此部分对应着jbpm站点的doc的部署那一部分。这部分的理解应该没有什么太大出入,欢迎各位收藏浏览我的文章。谢谢!
对于一些常用单词或者行业内已经常用的单词我并没有做翻译,例如schedule等,我想这样能够更方便大家的理解。job我译成一次作业了。还有一些是我吃不准的,请见谅!如果有什么疑问或者见地请与我联系!我会尽快更正。
希望能与您共同进步,欢迎交流: yun15291li@hotmail.com
序言:
在经过了jbmp开始入门以及指南两章后,对JBPM有个大概的了解。下面我们来看看JBPM部署方面的知识。
接下来介绍如何把JBPM部署到不同的环境中。
JBPM可以在许多不同的环境进行部署,其中包括ant task(应该算是个附属脚本,不应该算做部署环境吧),swing client,web app,ejb,web services中。
部署jbpm到j2se环境:
这应该算是jbpm可以部署的几种方案中最简单的,把jbpm应用到一个简单java main程序中,一个单元测试中,一个swing应用中。
作为最最基础的,jbpm能够被应用在简单的java程序中。你只要把jbpm.core.jar添至系统classpath中并且配置好数据库。在java程序中你就可以获得jbpm服务org.jbpm.JbpmServiceLocator
下面给出几种部署:
1、 在webapp中:如果一个servlet容器:tomcat、resin等。
2、 在一个ant-task:jbpm包含一个ant-tasks,用来给process archive打包并且部署一个process archive。
3、 JUnite test中:jbpm的默认配置是想开发测试process archives,应用于一个瞬时、内存数据库中,那也就意味着你不用建立一个独立数据库和初始化它。Jbpm检测到没有jbpm表,那么就会自动建好。这里应用的是hibernate框架来实现对象持久层。
4、 在一个定制的app中:当你的应用需要整合一个工作流管理系统,你可以仅仅使用jbpm作为你们应用当中的一个组件,甚至于您系统的用户都没注意到使用jbpm这一点。
部署jbpm到一个web app中:
1、 安装jdbc驱动(一般就是下载相应的jar文件追加classpath或者copy到WEB-INF/lib目录下)
2、 把jbpm.properties放到WEB-INF/classes中
3、 这些jar文件放到WEB-INF/lib目录下
a) jbpm.core.jar
b) hibernate-2.1.1.jar
c) c3p0.jar
d) dom4j.jar
e) cglib2.jar
f) ehcache.jar
g) odmg.jar
h) commons-collections.jar
i) commons-logging.jar
j) commons-beanutils.jar
k) commons-lang.jar
4、 jbpm.war到app下(原文没写,我猜也是应该如此的。)等我测试后在公布正确步骤,会在今后文章中完善。
部署jbpm到一个J2EE服务器中:
简单的部署在J2EE container中,jbpm已经写了一个ejb-wrapper来包裹jbpm api,接下来的大致意思就是:利用ant可以帮助您把jbpm部署到jboss中。这一点我测试过了。其他请参看原文。
配置:
适当的配置jbpm,请遵从下面4种配置机制:
1、把jbpm.properties放到classloader能够找到的位置,因为它加载的时候使用getResourceAsStream方法。不懂的可以查看jdk。大致就是放到classpath可以找到的位置,如web app中的WEB-INF/classes中,在tomcat启动后就会自动把此目录下文件加载到classpath中。
2、 在调用getInstance方法之前加载配置文件(properties)。
3、 在调用getInstance方法之前调用配置文件(classloader,string)。
4、 对于创建复杂不同的jbpm配置实例在相同的jvm(classloader),你可以用jbpm配置和servicelocator的构造器并且不用做任何静态初始化和配置。
配置参数如下:
属性 值 描述 默认值
hibernate.* 在 jbpm 配置文件中直接完成 hibernate 的配置 默认是一个内存数据库 hsqldb 。主要是为测试而用的
jbpm.create.tables { only-if-not-present | never } 方便应用, jbpm 在最开始启动时候会检测是否存在表,如果没有则会自动创建。产生 ddl 语句开始 drop 表和约束然后创建表和约束
only-if-not-present
jbpm.create.tables.log { true | false } Ddl 语句创建表是否被 log 输出 . false
jbpm.create.tables.query { a plain SQL query } 简单的 sql 查询语句,这个属性会检测表是否存在,并且这个属性仅仅用在属性“ 'jbpm.create.tables' ”被设置成 ’only-if-not-present' 的情况。如果执行 sql 查询语句出现异常,那么 jbpm 会假定表不存在 .
SELECT ID FROM JBPM_DEFINITION WHERE ID = 1
jbpm.apply.transactions { yes | no } Jbpm 如何处理 transaction (事务) 'yes' 意思是对于执行每个更新方法把事务应用到 jdbc 连接上。其中排除定义在 *readservices 中的更新方法。 'no' 意味着将不会应用任何事务处理操作。 ’no’ 能够应用在一个容器或者用户自己提供的 jdbc 连解决中。
yes
jbpm.file.mgr { database | filesystem | the class-name of a class that implements org. jbpm. persistence. FileMgr } Jbpm 如何存储文件(例如在 process archive 中的类文件)。此配置被添加是因为一些数据库驱动(例如 oracle )不能很好的处理二进制文件。
database
jbpm.file.mgr.directory
Jbpm 存储文件的根目录的名字,设置成如: /usr/jbpm 或者 c:/data/jbpm
-no default specified-
jbpm.validate.xml { true | false } 如果这个属性设置为 false 的话, Process archive 分析将不会有效验证 processdefinition.xml 文件。
true
jbpm.id.generator { default | the class-name of a class that implements org. jbpm. persistence. IdGenerator } 产生 ID 方式。用于 jbpm 持久对象。 org. jbpm. persistence. hibernate. SequenceBlockIdGenerator
jbpm.id.generator.node.id { an integer between 0 and 65535 } 在 cluster 中这个节点( node )的唯一 ID 0
jbpm.id.generator.bocksize { an integer } (不知道怎么翻译好,下面是原文)大致意思是 ID 产生模式的区块大小。
100
jbpm.id.generator.configuration { same | the resource of the id generator hibernate properties } ID 产生器需要一个在分离事务中的 session 。因此 session 工厂用于产生 ID , ID 可以不从数据源管理的 container 中获得。所以如果你不使用 datasource (数据源)在其中管理事务的话,你可以使用默认值。 'same' 意思是和其他配置参数采用相同配置属性来为 ID 产生器的 session 工厂。否则,采用 hibernate 配置来产生使用 ID 产生器 session 工厂。(上面这段话可能翻译有误,大致意思如此。)
same
jbpm.log.stdout {on|off} 配置公用(普通) log 输出。当设置为 off , jbpm 不再配置公用(普通) log 。
on
jbpm.log.default { trace | debug | info | warn | error | fatal } 默认的 log 级别。 error
jbpm.log.package.* (whererepresents any package name) { trace | debug | info | warn | error | fatal } 以给定的值覆写 jbpm 默认的 log 级别。 jbpm. log. package. org. jbpm= debug
jbpm.scheduler.wait.period long 在 schduler polls 中等待的毫秒数。 5000
jbpm.execute.actions { true | false } 如果设置为 true , jbpm 将执行指定的 action handler 。可以设置为 false ,为了测试目的以免执行业务流程。
true
JBPM数据库:
概述:
Jbpm存储所有信息在数据库中:
1、 过程定义
2、 流程执行的运行时信息
3、 流程log
Schema generation
默认状态下,第一次访问数据库时候,jbpm将会检测表是否存在。如果不存在那么jbpm数据库表将会被自动创建。这可以在上面配置信息中找到’jbpm.create.tables’
针对一个数据库的schema能够在一个文件中创建,按照下面的步骤:
1、 更新文件:${jbpm.home}/core/schema.generation.properties来反射你选择的数据库。默认的数据库是Hypersonic DB。在这个文件里有样本生成。可以仿照生成自己需要的文件。
2、在文件夹${jbpm.home}/core用ant generate.dll产生schema。产生的文件在${jbpm.home}/target/sql/create-jbpm-database.sql
更换数据库:
1、 更新文件core/schema.generation.properties
2、 把对应的jdbc驱动放到lib目录(classpath能够找得到)
3、 在dos(命令提示符)下cd到打开core目录
4、 执行ant generate.dll
5、 现在,你已经产生dll脚本在${jbpm.home}/target/sql/create-jbpm-database.sql
6、 当运行jbpm时候,确信你提供了正确的hibernate配置。在上面的配置中已经介绍。
一些其他注意事项:
1、 有一些数据库想firebird和oracle需要添加如下属性配置到jbpm.properties:
Hibernate.query.substitutions=true 1,false 0
2、校验数据库中的text类型的长度,默认一个string类型是255长度。你可以以两种方式调整:通过增加长度参数,在hibernate mapping 文件中像这样: , 或者通过手动更新刚才用ant产生的dll脚本。
APPSERVER 兼容性:
Scheduler:
Jbpm有一个scheduler。ActionHandler实现器(和其他代理实现类)可以通过schedulerservices来schedule工作。SchedulerService可以在ExecutionContext中的getSchedulerService方法来进行访问。
Jbpm的scheduler包括4部分:
1、 scheduler service:允许schedule和取消一次作业。实际上scheduler service仅仅插入schedule和移除jbpm数据库中的一次作业记录。在某一个过程执行事件actions能被执行,在actions里面,你可以schedule和取消一次作业。
2、 scheduler server:它是一个能够检查一次作业取消还是执行的组件。Scheduler server应该比较有规律(例如每隔5m)就被调用一次。为完成此功能,jbpm提供3和4功能。
3、 scheduler servlet:响应request的servlet。通知2来检查工作。
4、 scheduler client:一个非常简单的java程序,用来一个request给3。时间间隔一般比较小(几秒)。
一个关于如何在过程定义中使用scheduler的例子,请参看scheduler test:
1、 core/src/java/org/jbpm/delegation/action/ScheduleJobActionHandler.java是一个可配置的用来schedule一次作业的acition。
2、 core/src/java/org/jbpm/delegation/action/CancelJobActionHandler.java是一个可配置的用来取消一个或者多个作业的action。
3、 core/src/test/resources/process/schedulingprocess.xml查看上面两个文件如何使用
在jboss cluster中的jbpm
这里讲的是如何在jboss cluster部署jbpm 企业bean。前提:你需要有两个或者更多的计算机,并且预先装好jvm和ant。可选地,你能够在一个计算机上运行多个jboss实例,但是这种情况,这里并没有介绍。
安装:
+----------------+
| Node 1 |
| +------------+ |
| | Hypersonic |.|...................................... . . .
| | Database | | : :
| | for jBpm | | +---------:------+ +---------:------+
| +------------+ | | Node 2 : | | Node 3 : |
| : | | : | | : |
| +------------+ | | +------------+ | | +------------+ |
| | jBpm ejb | | | | jBpm ejb | | | | jBpm ejb | |
| | module | | | | module | | | | module | |
| +------------+ | | +------------+ | | +------------+ |
| ! | | ! | | ! |
+-------!--------+ +---------!------+ +---------!------+
! ! !
! ! !
!!!!!!! remote application clients !!!!!!!!!!!!!!
在每个node上做如下操作:
安装jboss3.2.3或者更高版本
更新jbpm.home目录里的build.properties
在${jbpm.home}里运行ant build
在${jbpm.home}里运行'ant configure.jboss.3.2.3+'
在文件${jboss.home}/server/jbpm/deploy/jbpm-ds.xml 更改下面一行。
jdbc:hsqldb:hsql://localhost:1701
请使用node1的ip,不要使用localhost(即使是在node1上也是不要使用localhost)。切记!
在node1上执行下面操作:
运行'{jboss.home}/bin/run.bat -c jbpm'
在目录${jbpm.home}/ejb 'ant deploy' 将会创建${jbpm.home}/ejb/target/j2ee/jbpm.ejb.jar然后copy 它到${jboss.home}/server/jbpm/farm (这将稍后是部署ejb模块到所有node上)
在目录${jbpm.home}/ejb中运行'ant deploy.process.archives' 上载process archives到数据库中。
在node2和其他没有数据库的节点(如3),做如下操作:
On nodes 2 and higher (=the ones without a database), also do the following :
删除文件${jboss.home}/server/jbpm/deploy/jbpm-db-service.xml
从文件${jboss.home}/server/jbpm/deploy/jbpm-ds.xml 中移除下面这一行:'jboss:service=JbpmDatabase '
开启所有node的服务:'{jboss.home}/bin/run.bat -c jbpm'
这时,所有node 的准备工作就做好了。
本文转自
http://www.360doc.com/showWeb/0/0/4720.aspx
所有图片请到jbpm开源站点去查看。此部分对应着jbpm站点的doc的部署那一部分。这部分的理解应该没有什么太大出入,欢迎各位收藏浏览我的文章。谢谢!
对于一些常用单词或者行业内已经常用的单词我并没有做翻译,例如schedule等,我想这样能够更方便大家的理解。job我译成一次作业了。还有一些是我吃不准的,请见谅!如果有什么疑问或者见地请与我联系!我会尽快更正。
希望能与您共同进步,欢迎交流: yun15291li@hotmail.com
序言:
在经过了jbmp开始入门以及指南两章后,对JBPM有个大概的了解。下面我们来看看JBPM部署方面的知识。
接下来介绍如何把JBPM部署到不同的环境中。
JBPM可以在许多不同的环境进行部署,其中包括ant task(应该算是个附属脚本,不应该算做部署环境吧),swing client,web app,ejb,web services中。
部署jbpm到j2se环境:
这应该算是jbpm可以部署的几种方案中最简单的,把jbpm应用到一个简单java main程序中,一个单元测试中,一个swing应用中。
作为最最基础的,jbpm能够被应用在简单的java程序中。你只要把jbpm.core.jar添至系统classpath中并且配置好数据库。在java程序中你就可以获得jbpm服务org.jbpm.JbpmServiceLocator
下面给出几种部署:
1、 在webapp中:如果一个servlet容器:tomcat、resin等。
2、 在一个ant-task:jbpm包含一个ant-tasks,用来给process archive打包并且部署一个process archive。
3、 JUnite test中:jbpm的默认配置是想开发测试process archives,应用于一个瞬时、内存数据库中,那也就意味着你不用建立一个独立数据库和初始化它。Jbpm检测到没有jbpm表,那么就会自动建好。这里应用的是hibernate框架来实现对象持久层。
4、 在一个定制的app中:当你的应用需要整合一个工作流管理系统,你可以仅仅使用jbpm作为你们应用当中的一个组件,甚至于您系统的用户都没注意到使用jbpm这一点。
部署jbpm到一个web app中:
1、 安装jdbc驱动(一般就是下载相应的jar文件追加classpath或者copy到WEB-INF/lib目录下)
2、 把jbpm.properties放到WEB-INF/classes中
3、 这些jar文件放到WEB-INF/lib目录下
a) jbpm.core.jar
b) hibernate-2.1.1.jar
c) c3p0.jar
d) dom4j.jar
e) cglib2.jar
f) ehcache.jar
g) odmg.jar
h) commons-collections.jar
i) commons-logging.jar
j) commons-beanutils.jar
k) commons-lang.jar
4、 jbpm.war到app下(原文没写,我猜也是应该如此的。)等我测试后在公布正确步骤,会在今后文章中完善。
部署jbpm到一个J2EE服务器中:
简单的部署在J2EE container中,jbpm已经写了一个ejb-wrapper来包裹jbpm api,接下来的大致意思就是:利用ant可以帮助您把jbpm部署到jboss中。这一点我测试过了。其他请参看原文。
配置:
适当的配置jbpm,请遵从下面4种配置机制:
1、把jbpm.properties放到classloader能够找到的位置,因为它加载的时候使用getResourceAsStream方法。不懂的可以查看jdk。大致就是放到classpath可以找到的位置,如web app中的WEB-INF/classes中,在tomcat启动后就会自动把此目录下文件加载到classpath中。
2、 在调用getInstance方法之前加载配置文件(properties)。
3、 在调用getInstance方法之前调用配置文件(classloader,string)。
4、 对于创建复杂不同的jbpm配置实例在相同的jvm(classloader),你可以用jbpm配置和servicelocator的构造器并且不用做任何静态初始化和配置。
配置参数如下:
属性 值 描述 默认值
hibernate.* 在 jbpm 配置文件中直接完成 hibernate 的配置 默认是一个内存数据库 hsqldb 。主要是为测试而用的
jbpm.create.tables { only-if-not-present | never } 方便应用, jbpm 在最开始启动时候会检测是否存在表,如果没有则会自动创建。产生 ddl 语句开始 drop 表和约束然后创建表和约束
only-if-not-present
jbpm.create.tables.log { true | false } Ddl 语句创建表是否被 log 输出 . false
jbpm.create.tables.query { a plain SQL query } 简单的 sql 查询语句,这个属性会检测表是否存在,并且这个属性仅仅用在属性“ 'jbpm.create.tables' ”被设置成 ’only-if-not-present' 的情况。如果执行 sql 查询语句出现异常,那么 jbpm 会假定表不存在 .
SELECT ID FROM JBPM_DEFINITION WHERE ID = 1
jbpm.apply.transactions { yes | no } Jbpm 如何处理 transaction (事务) 'yes' 意思是对于执行每个更新方法把事务应用到 jdbc 连接上。其中排除定义在 *readservices 中的更新方法。 'no' 意味着将不会应用任何事务处理操作。 ’no’ 能够应用在一个容器或者用户自己提供的 jdbc 连解决中。
yes
jbpm.file.mgr { database | filesystem | the class-name of a class that implements org. jbpm. persistence. FileMgr } Jbpm 如何存储文件(例如在 process archive 中的类文件)。此配置被添加是因为一些数据库驱动(例如 oracle )不能很好的处理二进制文件。
database
jbpm.file.mgr.directory
Jbpm 存储文件的根目录的名字,设置成如: /usr/jbpm 或者 c:/data/jbpm
-no default specified-
jbpm.validate.xml { true | false } 如果这个属性设置为 false 的话, Process archive 分析将不会有效验证 processdefinition.xml 文件。
true
jbpm.id.generator { default | the class-name of a class that implements org. jbpm. persistence. IdGenerator } 产生 ID 方式。用于 jbpm 持久对象。 org. jbpm. persistence. hibernate. SequenceBlockIdGenerator
jbpm.id.generator.node.id { an integer between 0 and 65535 } 在 cluster 中这个节点( node )的唯一 ID 0
jbpm.id.generator.bocksize { an integer } (不知道怎么翻译好,下面是原文)大致意思是 ID 产生模式的区块大小。
100
jbpm.id.generator.configuration { same | the resource of the id generator hibernate properties } ID 产生器需要一个在分离事务中的 session 。因此 session 工厂用于产生 ID , ID 可以不从数据源管理的 container 中获得。所以如果你不使用 datasource (数据源)在其中管理事务的话,你可以使用默认值。 'same' 意思是和其他配置参数采用相同配置属性来为 ID 产生器的 session 工厂。否则,采用 hibernate 配置来产生使用 ID 产生器 session 工厂。(上面这段话可能翻译有误,大致意思如此。)
same
jbpm.log.stdout {on|off} 配置公用(普通) log 输出。当设置为 off , jbpm 不再配置公用(普通) log 。
on
jbpm.log.default { trace | debug | info | warn | error | fatal } 默认的 log 级别。 error
jbpm.log.package.* (whererepresents any package name) { trace | debug | info | warn | error | fatal } 以给定的值覆写 jbpm 默认的 log 级别。 jbpm. log. package. org. jbpm= debug
jbpm.scheduler.wait.period long 在 schduler polls 中等待的毫秒数。 5000
jbpm.execute.actions { true | false } 如果设置为 true , jbpm 将执行指定的 action handler 。可以设置为 false ,为了测试目的以免执行业务流程。
true
JBPM数据库:
概述:
Jbpm存储所有信息在数据库中:
1、 过程定义
2、 流程执行的运行时信息
3、 流程log
Schema generation
默认状态下,第一次访问数据库时候,jbpm将会检测表是否存在。如果不存在那么jbpm数据库表将会被自动创建。这可以在上面配置信息中找到’jbpm.create.tables’
针对一个数据库的schema能够在一个文件中创建,按照下面的步骤:
1、 更新文件:${jbpm.home}/core/schema.generation.properties来反射你选择的数据库。默认的数据库是Hypersonic DB。在这个文件里有样本生成。可以仿照生成自己需要的文件。
2、在文件夹${jbpm.home}/core用ant generate.dll产生schema。产生的文件在${jbpm.home}/target/sql/create-jbpm-database.sql
更换数据库:
1、 更新文件core/schema.generation.properties
2、 把对应的jdbc驱动放到lib目录(classpath能够找得到)
3、 在dos(命令提示符)下cd到打开core目录
4、 执行ant generate.dll
5、 现在,你已经产生dll脚本在${jbpm.home}/target/sql/create-jbpm-database.sql
6、 当运行jbpm时候,确信你提供了正确的hibernate配置。在上面的配置中已经介绍。
一些其他注意事项:
1、 有一些数据库想firebird和oracle需要添加如下属性配置到jbpm.properties:
Hibernate.query.substitutions=true 1,false 0
2、校验数据库中的text类型的长度,默认一个string类型是255长度。你可以以两种方式调整:通过增加长度参数,在hibernate mapping 文件中像这样:
APPSERVER 兼容性:
Scheduler:
Jbpm有一个scheduler。ActionHandler实现器(和其他代理实现类)可以通过schedulerservices来schedule工作。SchedulerService可以在ExecutionContext中的getSchedulerService方法来进行访问。
Jbpm的scheduler包括4部分:
1、 scheduler service:允许schedule和取消一次作业。实际上scheduler service仅仅插入schedule和移除jbpm数据库中的一次作业记录。在某一个过程执行事件actions能被执行,在actions里面,你可以schedule和取消一次作业。
2、 scheduler server:它是一个能够检查一次作业取消还是执行的组件。Scheduler server应该比较有规律(例如每隔5m)就被调用一次。为完成此功能,jbpm提供3和4功能。
3、 scheduler servlet:响应request的servlet。通知2来检查工作。
4、 scheduler client:一个非常简单的java程序,用来一个request给3。时间间隔一般比较小(几秒)。
一个关于如何在过程定义中使用scheduler的例子,请参看scheduler test:
1、 core/src/java/org/jbpm/delegation/action/ScheduleJobActionHandler.java是一个可配置的用来schedule一次作业的acition。
2、 core/src/java/org/jbpm/delegation/action/CancelJobActionHandler.java是一个可配置的用来取消一个或者多个作业的action。
3、 core/src/test/resources/process/schedulingprocess.xml查看上面两个文件如何使用
在jboss cluster中的jbpm
这里讲的是如何在jboss cluster部署jbpm 企业bean。前提:你需要有两个或者更多的计算机,并且预先装好jvm和ant。可选地,你能够在一个计算机上运行多个jboss实例,但是这种情况,这里并没有介绍。
安装:
+----------------+
| Node 1 |
| +------------+ |
| | Hypersonic |.|...................................... . . .
| | Database | | : :
| | for jBpm | | +---------:------+ +---------:------+
| +------------+ | | Node 2 : | | Node 3 : |
| : | | : | | : |
| +------------+ | | +------------+ | | +------------+ |
| | jBpm ejb | | | | jBpm ejb | | | | jBpm ejb | |
| | module | | | | module | | | | module | |
| +------------+ | | +------------+ | | +------------+ |
| ! | | ! | | ! |
+-------!--------+ +---------!------+ +---------!------+
! ! !
! ! !
!!!!!!! remote application clients !!!!!!!!!!!!!!
在每个node上做如下操作:
安装jboss3.2.3或者更高版本
更新jbpm.home目录里的build.properties
在${jbpm.home}里运行ant build
在${jbpm.home}里运行'ant configure.jboss.3.2.3+'
在文件${jboss.home}/server/jbpm/deploy/jbpm-ds.xml 更改下面一行。
请使用node1的ip,不要使用localhost(即使是在node1上也是不要使用localhost)。切记!
在node1上执行下面操作:
运行'{jboss.home}/bin/run.bat -c jbpm'
在目录${jbpm.home}/ejb 'ant deploy' 将会创建${jbpm.home}/ejb/target/j2ee/jbpm.ejb.jar然后copy 它到${jboss.home}/server/jbpm/farm (这将稍后是部署ejb模块到所有node上)
在目录${jbpm.home}/ejb中运行'ant deploy.process.archives' 上载process archives到数据库中。
在node2和其他没有数据库的节点(如3),做如下操作:
On nodes 2 and higher (=the ones without a database), also do the following :
删除文件${jboss.home}/server/jbpm/deploy/jbpm-db-service.xml
从文件${jboss.home}/server/jbpm/deploy/jbpm-ds.xml 中移除下面这一行:'
开启所有node的服务:'{jboss.home}/bin/run.bat -c jbpm'
这时,所有node 的准备工作就做好了。
本文转自
http://www.360doc.com/showWeb/0/0/4720.aspx
- 学习jbpm部署部分(转载)
- 学习jbpm部署部分
- jbpm指南部分学习
- jbpm指南部分学习
- JBPM学习---JBPM流程的部署
- 学习jbpm开始一章中剩余部分
- JBoss jBPM 学习——部署
- jBPM学习笔记3--流程的部署
- jbpm 转载
- jBPM学习(四)----体验jbpm
- jBPM学习(七)----jBPM相关概念
- JBPM学习(一):eclipse集成JBPM
- JBPM学习(一):eclipse集成JBPM
- jbpm学习(二)
- HTTP协议学习总结(转载部分)
- 个人学习笔记(部分转载)
- 学习笔记 const(部分转载)
- 学习日记+部分转载
- 游戏对象的实现 (补)
- 我对汉语编程的浮浅看法(汉语编程软件应以致用为目的)
- 生活需要一点感动
- 成功的从fedora 7升级到了fedora 8
- 硬盘结构及其分区简介
- 学习jbpm部署部分(转载)
- FrontPage WebBot
- 费尽10个月的心思做出的电脑遥控
- Tomcat+MySQL+jBPM 安裝說明 [精華]
- 100多种javascript大全
- Ubuntu7.10 for USB 测试版
- 电脑遥控平台使用截图
- 绝对解密 XP系统中隐藏的10个秘密
- 谈谈工作流引擎及面向服务编程