<P>昨晚在對(duì)DLOG進(jìn)行壓力測試的時(shí)候發(fā)現(xiàn)這樣一個(gè)問題</P>
<P>使用apache自帶的壓力測試工具ab以并發(fā)50個(gè)請(qǐng)求進(jìn)行測試, 在完成幾千個(gè)請(qǐng)求后服務(wù)器開始爆出大量的異常,頁面訪問也出現(xiàn)同樣異常,異常如下:</P>
<P>java.lang.NoSuchMethodError: com.liusoft.dlog4j.beans.UserBean.getHibernateLazyInitializer()Lorg/hibernate/proxy/LazyInitializer;<BR> at com.liusoft.dlog4j.beans.UserBean$$EnhancerByCGLIB$$16e4f0b9.getHibernateLazyInitializer(<GENERATED></GENERATED>)</P>
<P>而開始一直很正常,頁面訪問也沒問題, 依此判斷是hibernate的一個(gè)問題,今天早上網(wǎng)上搜索了這個(gè)問題,發(fā)現(xiàn)這是Hibernate的一個(gè)BUG, 詳細(xì)請(qǐng)看鏈接 <A href="
>
<P>我測試的服務(wù)器用的是linux系統(tǒng), 據(jù)說該問題在windows下不會(huì)出現(xiàn). 公司有個(gè)網(wǎng)站用DLOG搭建的已經(jīng)運(yùn)行了很久沒有任何問題.</P>
<P>根據(jù)Hibernate的BUG中網(wǎng)友的評(píng)論說, 使用server VM可以解決這個(gè)問題, 目前為止還沒有測試是否屬實(shí).</P>
<P>不過這個(gè)問題在BUG庫中記錄的是去年年底提出的, 這么長時(shí)間了還沒有得到hibernate的解決, 因?yàn)樽钚掳媸?.2 RC2同樣存在相同的問題. 這讓我對(duì)Hibernate有些些失望. 當(dāng)然了,這也不完全是Hibernate的錯(cuò), 問題出在于cglib這個(gè)庫上.</P>
<DIV class=spacer_20>
<DIV class=comment_content>
<P>試驗(yàn)表明增加-server參數(shù)確實(shí)可以解決這個(gè)問題.</P>
<P>但是大家注意如果是Tomcat的話, 應(yīng)該仔細(xì)檢查在catalina.sh哪里增加-server, 重起完用ps檢查一下看增加的參數(shù)是否有效.</P>
<P>經(jīng)過幾十萬次的壓力測試, 依舊穩(wěn)如泰山.<BR><!----><BR><!----></P>
<DIV class=comment_content>
<P>如何加-server參數(shù)呢? 最簡單的辦法是在catalina.sh文件開始位置增加下面一行</P>
<P>JAVA_OPTS="-server -Xms512m -Xmx512m"<BR><!----><BR><!----></P>
<P>hibernate 3.2的下一個(gè)版本</P>
<P>中即將修復(fù)這個(gè)功能<BR><!----><BR><!----></P></DIV></DIV></DIV>