編程生活

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks

          遠程接口采用Call-by-value 是傳值,傳值就要對參數進行copy,所以要求參數必須是可序列化,性能也比較低。因此參數在ejb內部改變對外部對象沒有影響。

          本地接口采用Call-by-reference 是傳引用,可以提高性能,不過這樣作,有可能改變參數的值,此時的參數可以是非序列化的

          如果采用本地接口就必須采用Call-by-reference,不是可以,是必須
          如果采用遠程接口,必須用Call-by-Value,但是調用關系完全在一個VM內的時候,WebLogic可以優化成Call-by-reference,這時后遠程調用就自動退化為本地調用,性能上有提高。那個警告就是說你禁止了這個優化,可以不理。建議打開優化提升性能。

          如果開發的應用將web和ejb部署成一個ear文件,那么ejb和ejb之間的調用,web和ejb之間的調用都是采用Call-By-Reference的方式,能大大提高效率。
          如果你不采用這種方式,那么你使用的是remote的方式,無論處于一個JVM中,都是采用Call-By-Value的方式調用的。

          1。可以使用call-by-reference的條件,必須在同一個application中。


          2。call-by-reference的設置,在weblogic.xml中

          <weblogic-enterprise-bean>
               <entity-descriptor>
                    <ejb-name>testBean</ejb-name>
                    ...
                    <enable-call-by-reference>True</enable-call-by-reference>
               </entity-descriptor>
          </weblogic-enterprise-bean>

          posted on 2008-08-08 09:12 wilesun 閱讀(541) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 岚皋县| 铜川市| 娄底市| 芮城县| 彰化县| 江北区| 包头市| 樟树市| 湟源县| 松阳县| 东阳市| 江北区| 澄城县| 江山市| 乐安县| 合山市| 东乡族自治县| 沐川县| 鄄城县| 米脂县| 琼海市| 兴业县| 阳西县| 固始县| 九江县| 贺兰县| 梅州市| 衡阳县| 格尔木市| 乐至县| 方正县| 筠连县| 时尚| 安陆市| 朝阳县| 长兴县| 阳朔县| 三穗县| 巴马| 景谷| 香港 |