?
?
在為
JBoss
配置
Hibernate
的時候發(fā)現(xiàn)的問題和心得
,
拿出來共享一下
.
?
1.??????
使用微軟的
SQLSERVER2000
驅動
,
為三個文件
mssqlserver.jar ,msutil.jar
和
mbase.jar,copy
至
server\default\lib
下
.
2.??????
設置
mssql-ds.xml,
具體設置方法參見
jboss
說明文檔
.
我們可以在
\docs\examples\jca
下找到默認的各種對應數(shù)據(jù)庫配置文件模板
. mssql-ds.xml
為
:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
? <local-tx-datasource>
??? <jndi-name>MSSQLDS</jndi-name>? <connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDatabase</connection-url>
??? <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
??? <user-name>x</user-name>
??? <password>y</password>
????? <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
????? <metadata>
???????? <type-mapping>MS SQLSERVER2000</type-mapping>
????? </metadata>
? </local-tx-datasource>
</datasources>
修改對應的屬性
,
一般修改
jndi-name ,onnection-url, user-name, password.
將修改好的
mssql-ds.xml
拷貝到
server\default\deploy
目錄下并刪除默認的
hsqldb-ds.xml
?
3.??????
設置
server\default\conf
目錄下
standardjws.xml
和
standardjbosscmp-jdbc.xml
中
Jndi name
和
type-mapping :
standardjbosscmp-jdbc.xml
中
:
修改
<datasource>java:/MSSQLDS</datasource>
加入
<datasource-mapping>MS SQLSERVER2000</datasource-mapping>
standardjws.xml
中
修改
<datasource>java:/MSSQLDS</datasource>
??
???????? <type-mapping>MS SQLSERVER2000</type-mapping>
4.??????
配置
JMS:
這里
JBoss3.x
和
4.x
有些區(qū)別
在
3.x
中拷貝
mssql-jdbc2.xml
到
defult/deploy/jms/
文件夾下
,
并刪除默認的
hsqldb-jdbc2.xml
在
4.x
中拷貝
mssql-jdbc2-service.xml
到
defult\deploy-hasingleton\jms
文件夾下并刪除默認的
hsqldb-jdbc2-service.xml.
mssql-jdbc2.xml
和
mssql-jdbc2-service.xml
均能在
docs\examples\jms
中找到模板
??????
如果沒有這個設置
,
就會報關于
JMS_MESSAGES
的異常
:
org.
jboss
.mq.SpyJMSException: Could not resolve uncommited transactions. Message recovery may not be accurate; - nested throwable: (java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]SELECT permission denied on object 'JMS_MESSAGES', database 'test'.)
?