jboss jta configuration trouble shooting

這兩天在網上折騰,看到了jta的相關文章,很想自己嘗試下j2ee中分佈式事物的配置,順表看看他們是怎麼處理分佈式的。抱着試一試的想法,我開始了jta之旅,沒想到這條道路是那麼艱險,猶如唐僧取經一般有着一把有一把的問題等待自己解決。爲了最大限度的方針jta的分佈式事物,我沒有小兒科似的在本機配置多個相同的數據源,而是最大限度的模擬真是條件下的分佈式,也爲了爽一爽新配備的電腦,我在rhel5(後文稱:200)上安裝虛擬機,虛擬了兩臺服務器,一臺是xp(後文稱:5)上面裝了sqlserver2000;一臺rhel5(後文稱:4)上面裝了jboss4.2.3以及oracle10 client。200上同時安裝了oracle10g server。
我會盡量詳細的把所遇到的問題,以及解決方案貼出來,至於具體的代碼清參見胡長城的jta的相關文章。裏面有詳細的敘述。

問題一:在4啓動jboss無法獲得jndi連接,並且不能ie訪問:請修改啓動腳本:./run.sh -b 192.168.1.4 -Djboss.bind.adress=0.0.0.0
問題二:可以獲得jndi連接,但是context.lookup時會找不到配置好的數據源:檢查數據源配置文件中是否有如下片段:<use-java-context>false</use-java-context>
問題三:如何配置oracle-xa-ds?xa是好東西,但也是有代價的:你需要在jboss所跑的主機安裝oracle client所以我在4上安裝了oracle-client。並且在啓動jboss的時候要確保環境變量:LD_LIBRARY_PATH=$ORACLE_HOME/lib如果你遇到的異常i
綜上,我的jboss啓動腳本如下:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
# export PATH=$ORACLE_HOME/bin:$PATH
./run.sh -b 192.168.1.4 -Djboss.bind.adress=0.0.0.0
# ./run.sh -Djboss.bind.adress=0.0.0.0

因爲oci驅動不像jdbc那樣是純正的java寫的驅動,或者說是類型4的jdbc驅動;他是類型2的驅動,也就是需要c作底層的通訊,因此我們需要指定環境量LD_LIBRARY_PATH;告訴java到哪裏去找c寫的代碼。
問題四:sqlserver2000的配置問題:sqlserver2000是我大學時候用的數據庫,工作之後就在也沒有用到過,今天使用起來好像回到了大學時代。呵呵,扯遠了。java使用sqlserver2000需要jdbc,需要jdbc則需要sp4。也就是sqlserver2000的sp4包。另外推薦使用microsoft sqlserver2005 jdbc 驅動比較好,該驅動雖然叫2005但,向下兼容sqlserver2000並且如果你想用xa你只能用該驅動老的jdbc 2000不支持xa。具體安裝方法自己google之。
問題五:在執行UserTransaction.begin()遇到:UT factory lookup failed。呵呵恭喜你,你裏成功不遠了。把org.jnp.interfaces.NamingContextFactory改成:org.jboss.naming.NamingContextFactory參加:http://www.jboss.org/community/docs/DOC-12476

低級失誤:忘記拷貝oracle jdbc 和 sqlserver jdbc到jboss/server/default/lib
沒有把jboss-clientall.jar引入客戶端程序。
參考資料:
http://blog.csdn.net/james999/archive/2006/09/25/1281070.aspx
http://www.jboss.org/community/docs/DOC-12476
http://read.newbooks.com.cn/info/175508.html
http://database.e800.com.cn/articles/2007/620/1182276890521451751_1.html
[color=red]這篇文章寫的很雜,我的感覺就像是trouble shooting。如果還有什麼問題我沒有涉及到,很希望你能夠跟帖或者通知我,另外一點,我很懷疑xa事物的可靠性,所以如果哪位在實際工作當中用到了jta希望你能夠跟下貼,讓哥們開開眼。[/color]
發佈了14 篇原創文章 · 獲贊 0 · 訪問量 3637
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章