电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

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


发布日期:2021/1/5
 

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

PITFALL ONE

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

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

在$JBOSS_HOME/server/default/deploy/hsqldbdsxml中 UNCOMMENT

<connectionurl>jdbc:hsqldb:hsql://localhost:</connectionurl>

并且把其它的<connectionurl>tags都给COMMENT掉

在$JBOSS_HOME/server/default/conf/jbossservicexmlMonitoring and Managementstatements 后面加一句:

<mbean code=orgjbossjdbcHypersonicDatabase name=jbossjdbc:name=HypersonicDatabase/>

这是根据JBOSS 的要求来加的在JBOSS的文档里有说这个

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

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

NOTE: 我用的是TCP我不能保证INMEMORY也可行

PITFALL TWO

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

PITFALL THREE

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

PTIFALL FOUR

在把$DIST/lib/wfdemo/loginconfigxmlinsert添加到

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

HOW TO GET WFMOPEN SAMPLE UP

I follow user manual C Sample application hours to get up wfmopen sample application you got problem using ML to login? Just follow these steps:

WARNING:

First I use Jboss with wfmopen I cant login using ML meanwhile Jboss throw lots of exceptions continuely I found that Jboss itself has a bug when using MQ serviece(JMS) Wfmopen need MQ service support so this bug could cause the problem Otherwise unproperly set loginconfigxml file and uninitial database could also cause the problem as Michael said previously

So Jboss dont work try Jboss

Step : unzip Jboss

Step : uncomment

<connectionurl>jdbc:hsqldb:hsql://localhost:</connectionurl>in $JBOSS_HOME/server/default/deploy/hsqldbdsxml and comment all other <connectionurl>tags

Step :add <mbean code=orgjbossjdbcHypersonicDatabase name=jbossjdbc:name=HypersonicDatabase/>to $JBOSS_HOME/server/default/conf/jbossservicexml

Step : prepare the database as user manual said

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

Step : try wfmopen in case of wfmopen dont work

上一篇:一个程序员的奋斗历程

下一篇:解读UDDI和JAXR