程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> EJB 3.1五大模式改進令Java EE 6更好用(2)

EJB 3.1五大模式改進令Java EE 6更好用(2)

編輯:J2EE

單元素集合

單元素集合Bean也被稱為單元素集合,它是一種新的會話Bean,它保證在一個特定的Java虛擬機(JVM)應用程序中只被實例化一次。使用單元素集合,你可以在一個企業Bean組件的多個實例之間輕松地共享狀態,也可以在一個應用程序的多個企業Bean之間共享狀態,它就象為某個應用程序緩存數據的類一樣。你可以以單元素集合形式定義類,這樣可以確保在應用程序內只有一個緩存實例,一個共享狀態。

使用@Singleton注解定義單元素集合,如:

  1. @Singleton
  2. public class PropertIEsBean {
  3. private PropertIEs props;
  4. public String getProperty(String name) { ... }
  5. @PostConstruct
  6. public void initialize { // props = ...}
  7. }

因為它只是另一種會話Bean,單元素集合可以定義相同的本地和遠程客戶端視圖,可以象無狀態的和有狀態的Bean那樣,客戶端以訪問無狀態和有狀態Bean相同的方式訪問單元素集合,即通過EJB引用。例如,下面是一個可以訪問PropertIEsBean單元素集合的客戶端示例:

  1. @EJB
  2. private PropertIEsBean propsBean;
  3. ...
  4. String msg = propsBean.getProperty("hello.message");

在這裡,容器確保所有通過PropertiesBean引用的調用是由相同的PropertIEsBean實例提供的服務,默認情況下,容器強制執行和其它組件類型相同的線程保證,換句話說,單元素集合是全線程安全的,特別值得一提的是,在任一時刻,允許多個調用訪問一個特定的Bean實例,默認情況下,單元素集合會阻塞所有並發調用,但還有其它並發選項允許更高效地訪問單元素集合實例。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved