按照WFMOPEN的用戶手冊上的說明
短短的幾句話
似乎可以在二十來分鐘就讓WFMOPEN運行起來
但是實際上
我從昨天下午到今天上午
:
一共用了
個小時才把WFMOPEN的例子運行起來
整個過程中有很多陷井
PITFALL ONE
准備數據庫的時候要注意
如果你用JBOSS自帶的HYPERSONIC數據庫的話
要知道HYPERSONIC有兩種連接方式
一是通過TCP
另外一種是IN
MEMORY
在TCP方式下
啟動JBOSS以後才能執行初始化數據庫的操作
而且在JDBC
PROPERTY ($DIST\wfmopen
bin\lib\wfdemo)要使用的是database=jdbc:hsqldb:hsql://localhost:
(不需要改動)因為JBOSS
以後默認的是IN
MEMORY方式
所以要用TCP方式
必須要告訴JBOSS
我要用TCP方式
具體方法是: UNZIP JBOSS 以後
在$JBOSS_HOME/server/default/deploy/hsqldb
ds
xml中
UNCOMMENT
<connection
url>jdbc:hsqldb:hsql://localhost:
</connection
url>
並且把其它的<connection
url>
tags都給COMMENT掉
在$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
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 用哪個版本? 雖然用戶手冊上說的是JBOSS
版本可以用
但是周志軍發現JBOSS
版上關於MQ SERVICE(JMS) 中有漏洞
WFMOPEN 明確用到JMS
所以JBOSS
版很可能引起WFMOPEN不能運行
表現就是當用
ML
LOGIN的時候無法LOGIN
同時JBOSS上不斷拋出錯誤信息
為了安全
請使用JBOSS
版
我用過了
沒問題
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
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 can
t 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 login
config
xml file and uninitial database could also cause the problem as Michael said previously
So Jboss
don
t work
try Jboss
Step
: unzip Jboss
Step
: uncomment
<connection
url>jdbc:hsqldb:hsql://localhost:
</connection
url>in $JBOSS_HOME/server/default/deploy/hsqldb
ds
xml and comment all other <connection
url>
tags
Step
:add <mbean code=
org
jboss
jdbc
HypersonicDatabase
name=
jboss
jdbc:name=HypersonicDatabase
/>to $JBOSS_HOME/server/default/conf/jboss
service
xml
Step
: prepare the database as user manual said
Step
: 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
: try wfmopen
in case of wfmopen
don
t work
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19744.html