**************************************************
*** 在JBoss+MySQL環境下運行obe ***
**************************************************
我按照obe文檔的說明試著在JBoss+MySQL環境下運行obe程序
在部署obe程序後啟動JBoss
總是一堆的異常信息
我曾試過好幾個版本的JBoss(
/
/
)都沒有成功
從cvs下載最新的源碼後認真閱讀了obe的文檔
最後選擇了JBoss
並對ConfigurationProperties文件中使用的JBoss數據源配置進行了修改
當然我們也需要在JBoss中配置對應的數據源信息
##################################################
### obe文檔中幾個關鍵的說明部分
##################################################
關於運行obe的應用服務器(這是我們選擇應用服務器的依據)
Application Servers
The OBE build system is highly configurable and can easily be adapted to run on any J
EE
application server that is supported by XDoclet
The OBE server runtime is known to work
with the following application servers:
JBoss
+
JBoss
+ (but not JBoss
)
WebLogic
x
WebLogic
x
Note that of these
only JBoss
supports Servlet
as required by the OBE Web
based
Worklist Handler client
運行obe的應用服務器的資源配置(這段內容說明了運行obe所需要的數據源
JMS隊列以及JAAS)
Configure the application server
to ensure that the resources required by OBE will be available
The resources required include:
One DataSource
JNDI name (default
MySQLDS
) to match
Two JMS Queues
JNDI names
OBEAsyncRequest
and
OBEApplicationEvent
One JAAS Configuration
default name
other
關於運行obe的JBoss服務器的配置(這段內容說明了如何配置Jboss應用服務器)
OBE provides some preconfigured resources for use with JBoss
under ${staging
dir}/j
ee/jboss
The conf and deploy directories can be copied to the ${as
dir}/server/default directory
you
will need to rename / edit the *
ds
xml data source definition file in the conf directory to
suit your database type and connection properties
The
default
server configuration should
be adequate for most purposes
Do not use the
minimal
server configuration
it does not provide
all the J
EE container functionality required by OBE
Note that OBE provides a modified version of the Castor XML library that fixes certain critical bugs
so it is necessary either to delete the one that comes with JBoss in ${jboss
home}/server/default/deploy/snmp
adaptor
sar
or to replace it with the OBE version (castor
jar) if you wish to use the JBoss SNMP adaptor
This incompatibility is the result of the JBoss UnifiedClassLoader
merging the classpaths of the
various J
EE applications
##################################################
### 運行環境說明
##################################################
操作系統
Windows
pro
JBoss(
):(group_id=
&package_id=
&release_id=
)
MySQL(
):()
JDBC驅動程序:我使用的是mysql
connector
java
bin
jar
最新的驅動程序可以在()下載
##################################################
### 從cvs上下載的obe源程序
##################################################
cvs工具可以使用wincvs/TortoiseCVS
下載方法(轉貼)
界面方式
認證方式:pserver
路徑:/cvsroot/obe
主機地址:
用戶名:anonymous
登陸
密碼為空
檢出模塊為
(注意:一個點
表示下載當前目錄下的所有東西)
命令方式:
$cvs
d:pserver::/cvsroot/obe login
$cvs
d:pserver::/cvsroot/obe checkout
##################################################
### 在MySQL中創建運行obe需要的數據庫
用戶名和密碼
##################################################
mysql>create database obe;
mysql>grant all on *
* to obe@localhost identified by
obe
with grant option;
##################################################
### 在JBoss中創建運行obe需要的數據源
##################################################
obe文檔中指導我們在Jboss中配置的數據源名稱為MySQLDS
我試著在Jboss中配置這個數據源
但是配置後運行obe出現了其他的問題
所以我就參照Jboss的相關文檔把obe使用MySQL的數據源配置為DefaultDS
同時修改Jboss的相關配置讓這個數據源可以正常使用
下面就如何在Jboss中配置obe使用的DefaultDS數據源作詳細說明
(注
在Jboss中
默認的DefaultDS數據源是hsql使用的)
首先把我們要使用的JDBC驅動程序拷貝到$JBOSS_HOME/server/default/lib目錄下;
然後拷貝$JBOSS_HOME/docs/examples/jca/mysql
ds
xml到$JBOSS_HOME/server/default/deploy目錄下;
用文本編輯器打開mysql
ds
xml文件
搜索找到配置項[<jndi
name>MySqlDS</jndi
name>]
修改該配置
項為[<jndi
name>DefaultDS</jndi
name>]
同時修改配置項[connection
url]
[driver
class]
[user
name]
[password]以符合我們自己的環境
下面是我修改完成後的mysql
ds
xml配置文件內容
<?xml version=
encoding=
UTF
?>
<!
$Id: mysql
ds
xml
v
/
/
:
:
schrouf Exp $
>
<!
Datasource config for MySQL using
available from:
l
>
<datasources>
<local
tx
datasource>
<jndi
name>DefaultDS</jndi
name>
<connection
url>jdbc:mysql://localhost:
/obe</connection
url>
<driver
class>com
mysql
jdbc
Driver</driver
class>
<user
name>obe</user
name>
<password>obe</password>
<exception
sorter
class
name>org
jboss
resource
adapter
jdbc
vendor
MySQLExceptionSorter</exception
sorter
class
name>
<!
sql to call when connection is created
<new
connection
sql>some arbitrary sql</new
connection
sql>
>
<!
sql to call on an existing pooled connection when it is obtained from pool
<check
valid
connection
sql>some arbitrary sql</check
valid
connection
sql>
>
<!
corresponding type
mapping in the standardjbosscmp
jdbc
xml (optional)
>
<metadata>
<type
mapping>mySQL</type
mapping>
</metadata>
</local
tx
datasource>
</datasources>
由於$JBOSS_HOME/server/default/deploy目錄下的hsqldb
ds
xml文件配置的數據源也為DefaultDS
所以必須把這個文件刪除掉
接下來配置Jboss的消息隊列以可以使用我們配置的DefaultDS(for MySQL)數據源
A
拷貝$JBOSS_HOME/docs/examples/jms/mysql
jdbc
service
xml到$JBOSS_HOME/server/default/deploy/jms目錄下
B
同樣為了避免和hsqldb的沖突
需要把$JBOSS_HOME/server/default/deploy/jms目錄下的hsqldb
jdbc
service
xml刪除掉
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28389.html