編程生活

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            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 閱讀(539) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 班戈县| 儋州市| 尤溪县| 河东区| 巨野县| 临朐县| 茶陵县| 上虞市| 连云港市| 新蔡县| 鸡东县| 尚义县| 舟曲县| 会泽县| 灵丘县| 宁南县| 搜索| 罗定市| 佳木斯市| 弥勒县| 玉树县| 鹤岗市| 苍梧县| 乡城县| 阿瓦提县| 永和县| 怀远县| 确山县| 海阳市| 扶沟县| 平和县| 五河县| 鄂伦春自治旗| 喀喇| 曲麻莱县| 始兴县| 三门县| 保山市| 平度市| 堆龙德庆县| 达日县|