jBPM在不同的环境进行部署(摘)

原文:http://www.jboss.com/products/jbpm/docs/deployment

http://www.360doc.com/showWeb/0/0/4720.aspx

在经过了jbmp开始入门以及指南两章后,对JBPM有个大概的了解。下面我们来看看JBPM部署方面的知识。

接下来介绍如何把JBPM部署到不同的环境中。

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"></shapetype><stroke joinstyle="miter"></stroke> <formulas> </formulas> <f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f> <lock v:ext="edit" aspectratio="t"></lock><shape id="_x0000_i1025" style="WIDTH: 367.5pt; HEIGHT: 449.25pt" alt="" type="#_x0000_t75"></shape><imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif" o:href="../code/jboss-jbpm-2.0/doc/html/images/components.gif"></imagedata>

 

 

 

 

 

 

 

 

 

 

JBPM可以在许多不同的环境进行部署,其中包括ant task(应该算是个附属脚本,不应该算做部署环境吧),swing clientweb appejbweb services中。

 

 

 

 

 

 

 

 

 

 

部署jbpmj2se环境:

 

 

 

 

 

这应该算是jbpm可以部署的几种方案中最简单的,把jbpm应用到一个简单java main程序中,一个单元测试中,一个swing应用中。

<shape id="_x0000_i1026" style="WIDTH: 380.25pt; HEIGHT: 402.75pt" alt="" type="#_x0000_t75"></shape><imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image002.gif" o:href="../code/jboss-jbpm-2.0/doc/html/images/runtime.dependencies.gif"></imagedata>

 

 

 

 

 

作为最最基础的,jbpm能够被应用在简单的java程序中。你只要把jbpm.core.jar添至系统classpath中并且配置好数据库。在java程序中你就可以获得jbpm服务org.jbpm.JbpmServiceLocator

 

 

 

 

 

下面给出几种部署:

 

 

 

 

 

1、  webapp中:如果一个servlet容器:tomcatresin等。

 

 

 

 

 

2、  在一个ant-taskjbpm包含一个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或者copyWEB-INF/lib目录下)

2、  jbpm.properties放到WEB-INF/classes

3、  这些jar文件放到WEB-INF/lib目录下

a)       jbpm.core.jar

 

 

 

 

 

b)       hibernate-<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"></chsdate>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.warapp下(原文没写,我猜也是应该如此的。)等我测试后在公布正确步骤,会在今后文章中完善。

部署jbpm到一个J2EE服务器中:

 

 

 

 

 

 

 

 

 

 

简单的部署在J2EE container中,jbpm已经写了一个ejb-wrapper来包裹jbpm api,接下来的大致意思就是:利用ant可以帮助您把jbpm部署到jboss中。这一点我测试过了。其他请参看原文。

<shape id="_x0000_i1027" style="WIDTH: 393pt; HEIGHT: 380.25pt" alt="" type="#_x0000_t75"></shape><imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image003.gif" o:href="../code/jboss-jbpm-2.0/doc/html/images/jbpminj2ee.gif"></imagedata>配置:

 

 

 

 

 

适当的配置jbpm,请遵从下面4种配置机制:

 

 

 

 

 

1、 jbpm.properties放到classloader能够找到的位置,因为它加载的时候使用getResourceAsStream方法。不懂的可以查看jdk。大致就是放到classpath可以找到的位置,如web app中的WEB-INF/classes中,在tomcat启动后就会自动把此目录下文件加载到classpath中。

 

 

 

 

 

2、  在调用getInstance方法之前加载配置文件(properties)。

3、  在调用getInstance方法之前调用配置文件(classloaderstring)。

4、  对于创建复杂不同的jbpm配置实例在相同的jvmclassloader),你可以用jbpm配置和servicelocator的构造器并且不用做任何静态初始化和配置。

配置参数如下:

 

 

 

 

 

属性

 

 

 

 

 

 

 

 

 

 

 

 

 

 

描述

 

 

 

 

 

 

 

默认值

 

 

 

 

 

 

 

hibernate.*

 

 

 

 

 

 

 

@see the hibernate docs

 

 

 

 

 

 

 

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查询语句出现异常,那么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值