【原創】eclipse + JBoss 5 + EJB3開發指南(4):Session Bean中的註釋方法
本文為原創,如需轉載,請註明作者和出處,謝謝!
有時需要在Session Bean中初始化和釋放一些資源。這些工作應該在SessionBean的@PostConstruct和@PreDestroy方法中進行。其中用 @PostConstruct註釋的方法在SessionBean的構造方法呼叫之後以後EJB容器在處理完一些其他工作後呼叫。用 @PreDestroy註釋的方法在SessionBean的物件例項被EJB容器銷燬之前呼叫。
除此之外,當有狀態的SessionBean存在一定時間未被呼叫時,EJB容器會將該SessionBean物件鈍化(Passivate),也就是保 存在硬碟中。當再次訪問時,EJB容器會激法該SessionBean。在這兩種情況下,EJB容器會分別呼叫SessionBean的 @PrePassivate和@PostActivate方法。可以在@PrePassivate方法中將sessionbean中的資源儲存或釋放,如 開啟的資料庫連線等。在@PostActivate方法中可以恢復相應的資源。如下面的程式碼所示:
有時需要在Session Bean中初始化和釋放一些資源。這些工作應該在SessionBean的@PostConstruct和@PreDestroy方法中進行。其中用 @PostConstruct註釋的方法在SessionBean的構造方法呼叫之後以後EJB容器在處理完一些其他工作後呼叫。用 @PreDestroy註釋的方法在SessionBean的物件例項被EJB容器銷燬之前呼叫。
除此之外,當有狀態的SessionBean存在一定時間未被呼叫時,EJB容器會將該SessionBean物件鈍化(Passivate),也就是保 存在硬碟中。當再次訪問時,EJB容器會激法該SessionBean。在這兩種情況下,EJB容器會分別呼叫SessionBean的 @PrePassivate和@PostActivate方法。可以在@PrePassivate方法中將sessionbean中的資源儲存或釋放,如 開啟的資料庫連線等。在@PostActivate方法中可以恢復相應的資源。如下面的程式碼所示:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->package service;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
import javax.ejb.PostActivate;
import javax.ejb.PrePassivate;
import javax.ejb.SessionContext;
import javax.ejb.Stateful;
@Stateless
public class ShoppingCartBean implements ShoppingCart
{
private List<String> shoppingCart = new ArrayList<String>();
@Resource
private SessionContext sessionContext;
public ShoppingCartBean()
{
System.out.println("constructor:" + sessionContext);
}
@PrePassivate
public void MyPassivate()
{
System.out.println("passivate");
}
@PostConstruct
public void init()
{
System.out.println(sessionContext.getInvokedBusinessInterface());
}
@PreDestroy
public void destory()
{
System.out.println("destory");
}
@PostActivate
public void start()
{
System.out.println("start");
}
@Override
public void addCommodity(String value)
{
shoppingCart.add(value);
}
@Override
public List<String> getCommodity()
{
return shoppingCart;
}
}
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->package service;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
import javax.ejb.PostActivate;
import javax.ejb.PrePassivate;
import javax.ejb.SessionContext;
import javax.ejb.Stateful;
@Stateless
public class ShoppingCartBean implements ShoppingCart
{
private List<String> shoppingCart = new ArrayList<String>();
@Resource
private SessionContext sessionContext;
public ShoppingCartBean()
{
System.out.println("constructor:" + sessionContext);
}
@PrePassivate
public void MyPassivate()
{
System.out.println("passivate");
}
@PostConstruct
public void init()
{
System.out.println(sessionContext.getInvokedBusinessInterface());
}
@PreDestroy
public void destory()
{
System.out.println("destory");
}
@PostActivate
public void start()
{
System.out.println("start");
}
@Override
public void addCommodity(String value)
{
shoppingCart.add(value);
}
@Override
public List<String> getCommodity()
{
return shoppingCart;
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12921506/viewspace-604497/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【原創】eclipse + JBoss 5 + EJB3開發指南(5):使用配置檔案釋出Session BeanEclipseSessionBean
- 【原創】eclipse + JBoss 5 + EJB3開發指南(3):使用Session Bean的本地介面EclipseSessionBean
- 【原創】eclipse + JBoss 5 + EJB3開發指南(6):編寫第一個實體Bean程式EclipseBean
- 【原創】eclipse + JBoss 5 + EJB3開發指南(2):編寫有狀態的SessionBeanEclipseSessionBean
- JBOSS 做專案時的問題 有關Jboss, Mbean, Session bean 求助BeanSession
- session bean中的session如何理解?SessionBean
- 求教,eclipse2.1+jboss3.2.2開發EclipseS3
- Oracle資料庫開發指南(原創)Oracle資料庫
- 一個Session Bean如何去呼叫另外一個Session Bean裡的方法?SessionBean
- eclipse+lomboz+jboss開發疑問(新手)Eclipse
- Eclipse中各種檔案的註釋與取消註釋的快捷鍵Eclipse
- 【原創】Java多執行緒初學者指南(5):join方法的使用Java執行緒
- JBoss中EJB的開發(轉)
- Eclipse+JBoss+MySQL開發環境設定EclipseMySql開發環境
- idea java 類開發中註釋@Author @Description 註釋報警告IdeaJava
- spring註解開發(一)Bean注入SpringBean
- 用於前端開發的webpack4配置[帶註釋]前端Web
- Eclipse 的快捷鍵以及文件註釋、多行註釋的快捷鍵Eclipse
- Jboss7 部署EJB3 簡明教程
- 如何在Eclipse中如何自動新增註釋和自定義註釋風格Eclipse
- 【Spring註解驅動開發】在@Import註解中使用ImportBeanDefinitionRegistrar向容器中註冊beanSpringImportBean
- 無法在Eclipse中啟動JbossEclipse
- eclipse/myeclipse註釋模板的修改Eclipse
- Eclipse註釋關鍵詞Eclipse
- Eclipse中設定自動生成的author,date等註釋Eclipse
- Eclipse中設定作者日期等Java註釋模板EclipseJava
- Bran的核心開發指南(5)
- 【Spring註解開發】元件註冊-使用@Configuration和@Bean給容器中註冊元件Spring元件Bean
- 在JBuilder5中增加註釋與反註釋工具 (轉)UI
- jboss to weblogic移值說明(原創)Web
- 如何使用bean:write輸出session中的資訊BeanSession
- 【轉載】Eclipse 的快捷鍵以及文件註釋、多行註釋的快捷鍵Eclipse
- 【原創】如何優雅的轉換Bean物件Bean物件
- 系統開發中的實體BeanBean
- Gavin King真正走上EJB路線,推出基於JSF/EJB3的快速開發框架JBoss SeamJS框架
- session bean 對 entity bean的訪問策略?SessionBean
- [原創] Mysql中 Desc tables 中MUl解釋MySql
- WEB開發中的cookie與sessionWebCookieSession