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