?由于Jboss默認的數據庫為HypersonicDB,很多人,包括我,對它都不是十分了解,只知道它是java寫的,使用起來不是很方便,本人最近在學EJB,所以研究了一下。
?
? 我在網上找了很多資料包括什么《JBOSS 數據源設置大全》啊,一類的文章,都不能成功將默認的數據庫改為Oricle10g(別的數據庫能否成功我沒有試過),也就是我用的數據庫,所以自己查閱了國外的一些BBS,總結了一下經驗,貢獻給chinajavalab。
? 1.刪除Jboss\server\default\deploy下的hsql-ds.xml,從Jboss\docs\examples\jca中復制一個oracle-ds.xml過來,修改里面的屬性;connection-url,driver-class,user-name,pssword,其中jndi-name最好設置成DefaultDS,這樣可以方便后面幾個xml文件的修改
? 2.刪除Jboss\server\default\deploy\jms下的一切有關HSQL的文件,共有兩個,
從Jboss\docs\examples\jms中復制一個oracle-jdbc2-service.xml過來,將<depends>中的name改為DefaultDS,或者你自己設置的jndi-name
? 3.進入Jboss\server\default\conf,如果你將jndi-name設置成DefaultDS的話,就不用設置login-config.xml了,否則要設置,將里面的DefaultDS更換成你的jndi-name,后面的xml文件也要注意jndi-name,后面就不再提示了
? 4.修改jboss-service.xml,將<!--attribute name="Pad">true</attribute--> 的注釋去掉
? 5.修改standardjbosscmp-jdbc.xml,將datasource-mapping設置成Oracle9i,這里不管你用的是9i還是10g都要設置成9i,jboss4中目前還沒有10g的相關內容,我用的是10g,沒有問題的,關鍵是你的dirver包一定要是class12.jar,并將它放進Jboss\server\default\lib中
? 6.修改standardjaws.xml,將type-mapping設置為Oracle9i,增加
<type-mapping-definition> ?
<name>Oracle9i</name>
? ? ?<mapping>
? ? ? ? ? .
? ? ? ? ? .
? ? ?中間的內容到standardjbosscmp-jdbc.xml中的Oracle9i里找,復制過來
? ? ?,只要其中<mapping>的內容,其他不要
? ? ? ? ? .
? ? ? ? ? .
? ? ?</mapping>
</type-mapping-definition>
好了,重新啟動你的jboss,部署一個EJB試一試,如果有異常,表示你還沒有配置正確