空間站

          北極心空

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

          使用DWR我在《DWR幫助文檔-dwr.xml文件的配置for: Object:s0:{departmentId=Simple:"001", departmentName=Simple:""u4EBA"u529B"u8D44"u6E90"u90E8", employees=Simple:null}. See the logs for more details.   

        1.   
        2.        at org.directwebremoting.convert.BasicObjectConverter.convertOutbound(BasicObjectConverter.java:200)   
        3.   
        4.        at org.directwebremoting.dwrp.DefaultConverterManager.convertOutbound(DefaultConverterManager.java:192)   
        5.   
        6. ...    
        7.   
        8. Caused by: java.lang.IllegalStateException: Ignoring request to inline on reference for: Object:s0:{departmentId=Simple:"001", departmentName=Simple:""u4EBA"u529B"u8D44"u6E90"u90E8", employees=Simple:null}   
        9.   
        10.        at org.directwebremoting.dwrp.AbstractOutboundVariable.getReferenceVariable(AbstractOutboundVariable.java:148)   
        11.   
        12.        at org.directwebremoting.dwrp.DefaultConverterManager.convertOutbound(DefaultConverterManager.java:181)   
        13.   
        14.        at org.directwebremoting.convert.BasicObjectConverter.convertOutbound(BasicObjectConverter.java:189)   
        15.   
        16.        ... 28 more   
          1. org.

            仔細查看和跟蹤源碼,我發現這個問題出在AbstractOutboundVariable

            java 代碼
            1. /* (non-Javadoc)  
            2.  * @see org.directwebremoting.OutboundVariable#getReference()  
            3.  */  
            4. public OutboundVariable getReferenceVariable()   
            5. {   
            6.     if (reference == null)   
            7.     {   
            8.         reference = new ReferenceOutboundVariable(getVariableName());   
            9.         if (forcedInlineStatus)   
            10.         {   
            11.             throw new IllegalStateException("Ignoring request to inline on reference for: " + this);   
            12.         }   
            13.         else  
            14.         {   
            15.             setInline(false);   
            16.         }   
            17.     }   
            18.     return reference;   
            19. }  

            dwr已經使用了某個對象以后,就會將它的置為,當再次裝載這個對象的時候就會強制拋出異常。這在通常情況下是沒有問題的,但在我們前面提到的例子中就有問題了。當轉換員工值對象集合的時候,首先裝載和轉換了員工甲,他因為是“研發部”所以也裝載了“研發部”這個部門值對象。然后開始裝載和轉換員工乙。由于員工乙也是“研發部”,因此又開始裝載“研發部”這個值對象,但突然發現這個值對象已經裝載過了,因而就拋出了以上錯誤。

            如果我們希望整合到一起進行項目開發,以上這個問題是怎么也不能避免的,問題是如何解決。非常遺憾的是,官方似乎還沒有要解決這個問題的意思,我思索再三以后決定,還是“自己動手豐衣足食”吧。解決的辦法其實很簡單,就是把行這個強制拋出異常注釋掉,然后重新編譯。這樣修改以后就再也沒有出現以上問題,同時至今也沒有發現其它問題出現。這個問題我同樣在《DWR幫助文檔-dwr.xml文件的配置DWR幫助文檔-dwr.xml文件的配置在使用dwrMissing java bean property to match javascript property:[屬性名如果將log4jYou may be missing the correct setter: setXXX()

            The property may be excluded using include or exclude rules.

            其實你并沒有在dwr在使用dwr

          2.     at com.htxx.demo.model.Department$$EnhancerByCGLIB$$f4b4f445.getHibernateLazyInitializer()   
          3.     at org.directwebremoting.hibernate.H3BeanConverter.getClass(H3BeanConverter.java:139)  
            1. 之所以說這個異常比較離譜,是因為它似乎就沒有dwr3.2.0.rc4這個還是hibernate3CharScanner; panic: 遇到這個問題不要怕,其實解決的方法很簡單,就是在springproperty name="hibernateProperties">  

            2.     <props>  
            3.        ...   
            4.        <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactoryprop>  
            5.        props>  
            6. property  
              1. 六、在JDK1.4中運行和部署DWR2和hibernate3出現的問題

                DWR2.0同樣的問題出現在hibernate3另外值得說明的是,以上2

                posted on 2007-10-15 09:49 蘆葦 閱讀(1377) 評論(0)  編輯  收藏 所屬分類: JAVA
                主站蜘蛛池模板: 桐城市| 慈利县| 广灵县| 绥阳县| 都匀市| 齐河县| 读书| 贞丰县| 温泉县| 翼城县| 芒康县| 张掖市| 昭苏县| 宕昌县| 晴隆县| 南澳县| 胶州市| 崇阳县| 黄山市| 外汇| 财经| 韶关市| 霍林郭勒市| 靖西县| 穆棱市| 酉阳| 麻栗坡县| 清流县| 肃北| 德清县| 昌吉市| 长岭县| 潼南县| 通辽市| 兴业县| 曲靖市| 朝阳市| 抚顺县| 安阳县| 新田县| 小金县|