問題1:
????????配置Javabeans時,出現(xiàn)錯誤信息"沒有找到本地方法庫:java.lang.UnsatisfiedLinkError"。
錯誤原因:
trsbean.jar對應(yīng)的本地方法庫trsbean.dll或libtrsbean.so配置不正確。
解決方法:
????????1.確認(rèn)安裝介質(zhì)在傳輸過程中沒有損壞,如ftp傳輸需要使用二進(jìn)制模式。
????????2.確認(rèn)操作系統(tǒng)的版本和JDK的位數(shù)。
???????????JavaBeans的位數(shù)必須和JDK的位數(shù)保持一致,如32位JDK必須使用32位JavaBeans。
???????????JavaBeans的平臺必須和JDK的平臺保持一致。如AIX5.1平臺的JavaBeans只支持AIX5.1/5.2/5.3,不支持AIX4.3或其它廠商的Unix。
????????3.注意libtrsbean.so的文件屬性。
???????????如HP平臺,必須設(shè)置libtrsbean.sl的可執(zhí)行權(quán)限。
????????4.注意trsbean.dll/libtrsbean.so的存放路徑,應(yīng)該包含在JAVA本地方法庫的搜索路徑。
???????????Windows平臺:
???????????????JAVA本地方法庫的搜索路徑包含環(huán)境變量PATH和%JAVA_HOME%/jre/bin;
???????????Linux/Solaris平臺:
???????????????JAVA本地方法庫的搜索路徑包含環(huán)境變量LD_LIBRARY_PATH;
???????????AIX平臺:
???????????????JAVA本地方法庫的搜索路徑包含環(huán)境變量LIBPATH;
???????????HPUX平臺:
???????????????JAVA本地方法庫的搜索路徑包含環(huán)境變量SHLIB_PATH;
?? ??
???????????JDK1.4以上版本,也可以在java啟動參數(shù)中設(shè)置系統(tǒng)屬性java.library.path,?指向libtrsbean.so所在的目錄,如java?-Djava.library.path="/home/trs/trsbean"
???????????通常情況下,在應(yīng)用服務(wù)器的啟動腳本中指定本地方法庫的搜索路徑。???????????
問題2:
???????多套應(yīng)用同時使用javabean,出現(xiàn)錯誤信息"java.lang.UnsatisfiedLinkError:?Native Library trsbean.dll already loaded in another classloader"。
錯誤原因:
???????一個JAVA進(jìn)程,JAVA本地方法庫只能被加載一次,如果被多次加載就會出現(xiàn)該錯誤。
解決方法:
????????保證在一個JAVA虛擬機(jī)中,TRS Javabeans的本地方法庫只被加載一次。
如果應(yīng)用服務(wù)器上的多個應(yīng)用使用TRS JavaBeans,不能將trsbean.jar部署到每個應(yīng)用下。
????????建議只保留一套TRS JavaBeans,在應(yīng)用服務(wù)器中配置全局的trsbean.jar。
以Tomcat4.1.36,?Windows系統(tǒng)為例:
????????????將trsbean.jar放在%TOMCAT_HOME%/common/lib,或修改啟動腳本中的CLASSPATH變量。
????????????將trsbean.dll放在系統(tǒng)動態(tài)庫的搜索路徑。
問題3:
??????為什么TRSConnection和TRSResultSet需要close??能否將TRS對象放在WEB應(yīng)用的Session中?
答案3:
??????TRSConnection對應(yīng)TRS連接,?TRSResultSet對應(yīng)TRS結(jié)果集,占用少量的Native內(nèi)存。
??????如果程序不調(diào)用close方法關(guān)閉,會造成Native內(nèi)存泄露,嚴(yán)重時導(dǎo)致java進(jìn)程出現(xiàn)OutOfMemory錯誤。
??????如果將TRS對象放在Session中,WEB客戶端快速翻頁時會導(dǎo)致記錄內(nèi)容的不一致。