中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > Java与XML
使用工作流引擎wfmopen中的陷井
作者:未知 时间:2005-08-10 16:34 出处:Java频道 责编:chinaitpower
              摘要:使用工作流引擎wfmopen中的陷井
运行WFMOPEN中的陷井
wfmopen 是open-source的以J2EE 为基础的工作流引擎,是被Workflow Management Coalition (WfMC) and the Object Management Group (OMG)提出来的项目.
有兴趣的朋友可在:
https://sourceforge.net/forum/forum.php?thread_id=1138720&forum_id=259990
下载.


按照WFMOPEN的用户手册上的说明, 短短的几句话,似乎可以在二十来分钟就让WFMOPEN运行起来.但是实际上,我从昨天下午到今天上午9:20,一共用了6个小时才把WFMOPEN的例子运行起来.整个过程中有很多陷井.


PITFALL ONE

准备数据库的时候要注意,如果你用JBOSS自带的HYPERSONIC数据库的话,要知道HYPERSONIC有两种连接方式,一是通过TCP,另外一种是IN-MEMORY.

在TCP方式下, 启动JBOSS以后才能执行初始化数据库的操作.而且在JDBC.PROPERTY ($DIST\wfmopen-1.1-bin\lib\wfdemo)要使用的是
database=jdbc:hsqldb:hsql://localhost:1701(不需要改动)
因为JBOSS 3.2.0以后默认的是IN-MEMORY方式,所以要用TCP方式,必须要告诉JBOSS,我要用TCP方式,具体方法是:
UNZIP JBOSS 以后

1. 在$JBOSS_HOME/server/default/deploy/hsqldb-ds.xml中,
UNCOMMENT
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
并且把其它的<connection-url>-tags都给COMMENT掉.

2. 在$JBOSS_HOME/server/default/conf/jboss-service.xml
"Monitoring and Management"-statements 后面加一句:
<mbean code="org.jboss.jdbc.HypersonicDatabase"
name="jboss.jdbc:name=HypersonicDatabase"/>
这是根据JBOSS 的要求来加的,在JBOSS的文档里有说这个.

完成了这两步以后再按照用户手册上说的去做.


在IN-MEMORY连接方式下,数据不会写到硬盘上,JBOSS一停,数据库中的数据就会消失,所以每次启动JBOSS前或后都要执行一次初始化数据库的操作,由于是IN MEMORY可以在JBOSS 启动前初始化数据库. 但是要注意的一点是: 在JDBC.PROPERTY ($DIST\wfmopen-1.1-bin\lib\wfdemo)要使用的是
database=jdbc:hsqldb:hsql:.(要增加的)

NOTE: 我用的是TCP,我不能保证IN-MEMORY也可行.


PITFALL TWO

为什么不能用MYSQL, 因为WFMOPEN 要求用支持DISTRIBUTE TRANSACTION的数据库,MYSQL显然是不支持DISTRIBUTE TRANSACTION的. 当然你可以在MYSQL.COM中找到MAXDB来用.


PITFALL THREE

JBOSS 用哪个版本? 虽然用户手册上说的是JBOSS3.2.5版本可以用,但是周志军发现JBOSS3.2.5版上关于MQ SERVICE(JMS) 中有漏洞, WFMOPEN 明确用到JMS,所以JBOSS3.2.5版很可能引起WFMOPEN不能运行,表现就是当用”ML” LOGIN的时候无法LOGIN, 同时JBOSS上不断抛出错误信息.为了安全,请使用JBOSS3.2.3版,我用过了,没问题.


PTIFALL FOUR

在把$DIST/lib/wfdemo/login-config.xml.insert添加到
$JBOSS_HOME/server/default/conf/login-config.xml 的时候要注意,要在最后一个</policy>tag前添加那些内容,手册中写的是在最后,容易产生误会.如果LOGIN 的时候用”ML”无法LOGIN,那么错误可能在两个地方:一是login-config.xml文件没设置好,另一个就是数据库没有正确初始化.应仔细在这两个地方找错误.




HOW TO GET WFMOPEN SAMPLE UP

I follow user manual C.2 Sample application,6 hours to get up wfmopen 1.1 sample application , you got problem using “ML” to login? Just follow these steps:

WARNING:
First, I use Jboss 3.2.5 with wfmopen 1.2. I can’t login using “ML”, meanwhile, Jboss throw lots of exceptions continuely. I found that Jboss 3.2.5 itself has a bug when using MQ serviece(JMS). Wfmopen need MQ service support, so this bug could cause the problem. Otherwise, unproperly set login-config.xml file and uninitial database could also cause the problem as Michael said previously.
So Jboss 3.2.5 don’t work, try Jboss 3.2.3.

Step 1: unzip Jboss 3.2.3

Step 2: uncomment
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
in $JBOSS_HOME/server/default/deploy/hsqldb-ds.xml
and comment all other <connection-url>-tags

Step 3:add <mbean code="org.jboss.jdbc.HypersonicDatabase"
name="jboss.jdbc:name=HypersonicDatabase"/>
to $JBOSS_HOME/server/default/conf/jboss-service.xml

Step 4: prepare the database as user manual said.

Step 5: make sure you insert the fragment $DIST/lib/wfdemo/login-config.xml.insert before the last </policy> tag of $JBOSS_HOME/server/default/conf/login-config.xml( I got wrong when I simply append everything after
$JBOSS_HOME/server/default/conf/login-config.xml )

Step 6: try wfmopen 1.1 in case of wfmopen 1.2 don’t work.
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有