H5W3
当前位置:H5W3 > 其他技术问题 > 正文

使用工作流引擎Wfmopen中的陷井

  按照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.

本文地址:H5W3 » 使用工作流引擎Wfmopen中的陷井

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址