国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

提高EJB性能的十大技巧

2019-11-18 12:38:06
字體:
來源:轉載
供稿:網友

  項目進行到這里,開始出現新的問題。EJB調用是耗時、費力的。怎么提高EJB的性能?我們為解決這一問題,開始邊寫邊討論。等到完成了,我才發現,我們所應用的技巧總結一下,竟有十條。把提高EJB性能的這些技巧總結一下,為以后的項目做參考。
  
  1.用一個session Bean封裝多個Entity Bean,將原來的多個Entity Bean的Remote調用和Local調用封裝在一個Session Bean中。所以建立一個ServerFacade,它為多個對象提供統一獲取EJB Home和獲取對象的接口。ServerFacade為程序要用到的所有EJB的home handle提供緩存,提高訪問JNDI Name的時間,達到提高訪問效率的目的。以后查找JNDI Name的方法都應寫在接口里,調用時直接從接口調用。
  
  2.在EJB的Remote接口中使用粗粒度的方法,不推薦使用細粒度方法。
  
  3.假如EJB的Remote接口獲取成功,應不再使用Remote接口,而是將Remote接口構造成一個一般的java對象,通過調用一般的JAVA對象的方法來達到減少對網絡的訪問。
  
  4.假如你部署EJB客戶端和EJB在相同的JVM上,建設使用EJB2.0規范的Local接口代替Remote接口。
  
  5.用"transient"要害字聲明不必要的數據變量,替代以前的"public"、"  
  public class DemoCMP implements EntityBean {
   transient EntityContext entCtx;
   transient InitialContext initCtx;
   public String id;
   public String descr
iption;
  …
  }
  
  6.在ejb-jar.xml部署文件中,對Session Bean中非事務的方法,將trans-attribute屬性賦為"NotSupported"或"Never"
  
  
   …
  
  
  
   abookesessionBean
   *
  

   NotSupported
  

  
  

  
  7. 設置事務的超時時間,在JBoss中,要修改${jboss.home}/server/${jboss.configuration}/conf/jboss-service.xml ,如下所示:
  
  
  …
      name="jboss:service=TransactionManager">
  300
  

  …
  

  
  8.當事務鎖定數據庫的行記錄時,事務應跨越可能的最小的時間。
  
  9.調整EJB 服務器的各種參數,如線程數、EJB池大小、連接池參數等。以在JBoss修改連接池參數為示例,進行說明。假如JBoss和MySQL相連,配置${jboss.home}/server/${jboss.configuration}/deploy/mysql-service.xml,來修改連接池參數,包括MinSize、MaxSize、BlockingTimeoutMillis、IdleTimeoutMinutes、Criteria等,各參數的含義如下所示:
  
  i.MinSize :連接池保持的最小連接數。
  
  ii. MaxSize :連接池保持的最大連接數。
  
  iii. BlockingTimeoutMillis :拋出異常前最大的等待連接時間。
  
  iv. IdleTimeoutMinutes :關閉連接前連接空閑的最大時間。
  
  v. Criteria :有ByContainerAndapplication、ByContainer、ByApplication和ByNothing等值。
  
  下面是一個例子:
  
  
  
     name="jboss.jca:service=LocalTXPool,name=MySqlDS">
   0
   50
   5000
   15
   ByContainer
  

  

  
  10.對于數據庫事務,應選擇較低成本的事務等級,避免造成壞數據。遞增成本的事務等級包括:
  
  TRANSACTION_READ_UNCOMMITED,
  TRANSACTION_READ_COMMITED,
  TRANSACTION_REPEATABLE_READ,
  TRANSACTION_SERIALIZABLE

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河西区| 东平县| 建阳市| 伊金霍洛旗| 志丹县| 合作市| 嫩江县| 平远县| 藁城市| 定南县| 永登县| 苗栗县| 白银市| 汾阳市| 隆德县| 左云县| 旬邑县| 江津市| 葫芦岛市| 漠河县| 福海县| 衡南县| 略阳县| 静安区| 乐平市| 博爱县| 炎陵县| 成都市| 南部县| 龙山县| 章丘市| 吉林省| 三台县| 三河市| 楚雄市| 和林格尔县| 娱乐| 通山县| 绵竹市| 开封市| 光泽县|