📄 lifecyclebean.java
字号:
/**
* Copyright (c)上海烟草(集团)公司与上海康时信息系统有限公司。
*/
package com.myejb.imp;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.Init;
import javax.ejb.PostActivate;
import javax.ejb.PrePassivate;
import javax.ejb.Remote;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import org.jboss.annotation.ejb.RemoteBinding;
import com.myejb.LifeCycle;
/**
* Session Bean 生命周期
* @author xywang
* @since 2009-2-12
* @version 1.0
*/
@Stateful
@Remote({LifeCycle.class})
@RemoteBinding(jndiBinding="myejb/lifeCycleBean") // 自己定义jndi名字
public class LifeCycleBean implements LifeCycle{
@Init // 这个注释指定了有状态session bean初始化的方法。它区别于@PostConstruct注释在于:
// 多个@Init方法可以同时存在于有状态session bean中,但每个实例只会有一个@Init方法会
// 被调用。这取决于bean是如何创建的。@PostConstruct在@Init之后被调用
public void initialize(){
System.out.println("initialize()方法被调用");
}
@PostConstruct // 当对象完成实例化后,这个方法会被立即调用。适用于有状态和无状态会话Bean,每个bean只能定义一个@PostConstruct
public void construct(){
System.out.println("construct()方法被调用");
}
@PreDestroy // 在容器从它的对象池中销毁一个无用的或者过期的bean实例之前调用。适用于有状态和无状态会话Bean
public void exit(){
System.out.println("exit()方法被调用");
}
@PrePassivate // 当一个有状态session bean实例空闲过长的时间,容器将会钝化(passivate)它,
// 并把它的状态保存在缓存当中。使用这个注释的方法会在容器钝化bean实例之前调用。只适用于有状态的会话bean
// 当钝化后,双经过一段时间该bean仍然没有被操作,容器将会把它从存储介质中删除,以后,任何针对该bean方法的调用容器都会抛出例外。
public void serialize(){
System.out.println("serialize()方法被调用");
}
@PostActivate // 当客户端再次使用已经被 钝化的有状态session bean时,
// 新的实例被创建,状态被恢复。会在bean的激活完成时调用。只适用于有状态的会话bean
public void activate(){
System.out.println("activate()方法被调用");
}
/* (非 Javadoc)
* @see com.myejb.LifeCycle#Say()
*/
public String Say(){
try{
Thread.sleep(1000*30);
}catch(InterruptedException e){
e.printStackTrace();
}
return "这是会话Bean生命周期的例子";
}
/* (非 Javadoc)
* @see com.myejb.LifeCycle#stopSession()
*/
@Remove // 容器会在该方法被执行完毕后,把bean实例从对象池中移走.
public void stopSession(){
System.out.println("stopSession()方法被调用 ");
// 调用该方法以通知容器移除该Bean实例,终止会话。方法体可以是空的.
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -