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