SessionBean
SessionBean接受客户端的请求,并作出响应,是商业过程处理对象。
无状态SessionBean(Statless)
无状态Session是可以被重用,不能被客户端并发共享,只可以串行共享,并不保留客户端方法调用后的的状态,而是直接返回。
无状态的SessionBean是可以池化的,以优化性能。
无状态SessionBean的生命周期
如果实例不存在,就会调用构造方法,然后调用资源注入方法,接着会调用有@PostConstruct标注的方法,在销毁时会调用有@PerDestroy标注的方法,然后销毁对象,如果实例存在就会从Bean实例池中取出实例并调用方法。
回调方法是基于事件机制的。
生命周期回调方法的规则
1,对于直接定义在Bean中的回调,其格式应该是public void <method()>,也就是直接写在SessionBean中。
2,对于为Bean类单独提供(单个或多个)回调监听而言。其格式是public void <method(InvocationContext context)>
java.interceptor.InvocationContext,提供了调用的上下文信息。只在SessionBean类上加上@Interceptors(Xxxx.class)制定定义了回调方法的类。
3,回调方法不能够抛出已检查异常,但可以抛运行时异常。
在创建实例并注入资源之后,会回调这个方法。
@PostConstruct
public void constructed(){}
在销毁对象时回调这个方法
@PerDestroy
public void destroy(){}
有状态的SessionBean(Statful)
有状态的SessionBean只为一个客户端服务,不能共享,并且会保留方法调用后的状态。
当有状态的SessionBean暂时不被使用时,就会被存储到缓存当中,也就是被存到虚拟内存或者是将信息同步到Session数据库中(Session数据库是应用服务器所提共的小型数据库,用来保存Session的信息,多应用服务器共享Session数据库,同步Bean的信息,达到集群处理)。
swap out passivation钝化过程,保存SessionBean的状态,在SessionBean处在事务中时是不会进行钝化的。
swap in activation激活过程,提取保存的SessionBean到内存中,可以继续被客户端使用。
有状态的Session,会保存成员变量(没有加transient关键字,以及串行化的类型和基本类型),也会保存其他的SessionBean的引用。
对有状态的SessionBean中有transient属性时,就需要在Bean中提供激活的方法也就是
@Statful
Test implements TestRemote{
transient private int a;
@PostActivate
public void activate(){
a=5;
}
}
在SessionBean中实现事务处理时要实现SessionSynchronization接口。
java -Dorg.omg.CORBA.ORBInitialHost=192.168.12.41
分享到:
相关推荐
Java认证是全球认可的Java程序员技能评估标准,2009年的Java认证辅导资料涵盖了当时最新的Java技术,旨在帮助考生顺利通过考试并提升其Java编程能力。这些资料可能包括了Oracle Certified Associate (OCA), Oracle ...
JavaEE(Java Platform, Enterprise Edition)是一个用于开发企业级应用程序的框架,它提供了多种服务和组件模型,如Servlet、JSP、EJB等,以支持分布式、多层架构的应用程序开发。在这个辅导员管理项目中,JavaEE...
### 最新系统分析师考试复习资料知识点汇总 #### 一、开发技术:语言与平台 - **JavaBean组件模型特点** - JavaBean 是一种 Java 类,它遵循特定的编写规范,通常用来封装业务逻辑或数据。 - **封装性**:...
Curso_Java Curso de Java,POO,JDBC,Servlets,JavaEE,Web服务,JSF,EJB,JPA,PrimeFaces,Hibernate,Spring,Struts-全球辅导公司。乌巴尔多·阿科斯塔(Ubaldo Acosta)
2. **MVC设计模式**:通常情况下,JSP项目会采用Model-View-Controller(MVC)设计模式,将业务逻辑、数据模型和用户界面分离,增强代码的可维护性和可扩展性。在这个系统中,模型可能由JavaBeans或EJB实现,视图...
这个压缩包显然包含了针对该考试的复习资料,包括考试说明、理论题复习题以及操作题复习题。以下将详细阐述Java编程语言的一些核心知识点,以及如何根据这些文件进行有效的备考。 1. **基础语法**:作为Java学习的...
本压缩包包含的“高技能鉴定辅导材料java”很可能是针对Java Web开发人员的考试复习资料,旨在帮助他们掌握核心概念、技术和最佳实践。 1. **Servlet与JSP**: - Servlet是Java服务器端编程的基础,它扩展了Web...
系统的主要功能是教师的工作量统计,这包括但不限于记录教师的教学任务(如课程数量、学生人数)、科研活动、辅导任务等。系统可能提供数据录入界面,让教师自行申报,也可以自动化抓取相关数据,如教务系统中的...
MyEclips开发工具有很强大的力量,它对JavaServlet,AJAX,JSP,Struts,JSF,Spring、Hibernate等的支持使得开发变得非常容易,同时还具备了EJB3的功能,JDBC数据库连接的功能。所以说MyEclipse是所有开源工具开发...
论文资料部分可能详述了系统的设计理念、架构选择、功能模块、实现技术以及性能评估等方面,对于理解整个项目有重要的参考价值。通过阅读论文,可以学习到如何将理论知识应用到实际开发中。 项目截图展示了系统的...
项目文档资料包括项目报告和答辩PPT,详细记录了系统的功能需求、设计思路、实现技术和测试结果。项目辅导视频则进一步解释了系统的开发过程和解决的问题,对于学习和复用该系统非常有帮助。 总结,这个基于JSP的...
项目辅导视频和文档资料是学习和实施该项目的重要资源。它们可能包含系统需求分析、设计思路、开发过程、调试技巧等内容,帮助开发者理解和复现整个项目。数据库设计文档、系统架构图、用户手册等都是确保项目成功...
2. **轻量级**:与EJB容器相比,Spring的IOC容器更轻便,适合各种规模的项目。 3. **技术整合**:Spring集成了多种技术和框架,如ORM、logging、J2EE等,简化了开发工作。 4. **模块化设计**:开发者可以根据需求...
7. **项目辅导视频**:这部分内容可能是对系统开发过程的记录,包括如何配置开发环境、编写代码、调试问题以及如何进行系统部署等步骤,对于学习者来说是一份宝贵的教程资源。 8. **系统部署**:项目部署涉及服务器...
这份《2013年软考高级信息系统项目管理师考试计算机部分考点汇总表资料》是一份针对信息系统项目管理师考试的辅导材料,涵盖了计算机领域的多个知识点,其中涉及了信息系统的基础知识、软件工程、面向对象方法、各种...
- **项目辅导视频、论文等资料**:可能包含项目开发过程的教程、设计文档、相关论文等,帮助理解和学习项目。 - **数据库**:包含数据库脚本或已有的数据库文件,用于恢复和操作系统的数据环境。 - **源代码**:...
它包含了Servlet、JSP、EJB等核心组件,以及Spring、Hibernate等开源框架,用于处理业务逻辑、数据持久化和视图展示。 2. **SSH框架**:SSH是Struts、Spring、Hibernate三个开源框架的组合。Struts处理MVC模式中的...
项目辅导视频、论文等资料可以进一步指导开发过程,帮助理解和解决问题。数据库文件和源代码提供了具体实现细节,通过阅读和分析这些内容,可以深入学习到实际开发中的技巧和最佳实践。项目截图则能直观展示系统功能...
4. **EJB(Enterprise JavaBeans)**:虽然JSP可以处理简单的业务逻辑,但复杂的商业应用可能需要EJB来提供更高级的服务,如事务管理、安全性和分布式服务。不过,现代Web应用更倾向于使用轻量级框架,如Spring,以...
4. **EJB或Spring框架**:虽然未明确提及,但为了提高代码复用性和模块化,可能使用了Enterprise JavaBeans(EJB)或Spring框架。这些框架可以简化事务管理、对象持久化和依赖注入,提升系统的可维护性。 5. **前端...