`
lw223
  • 浏览: 99931 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

精通EJB学习笔记(会话bean的介绍)

    博客分类:
  • java
阅读更多

  

会话(sessionbean的介绍
会话bean能够完成客户所需要的业务操作。作为业务对象,会话bean能够实现业务逻辑,业务规则,算法,工作流等。比如会话bean能够完成查价,订单登记,食品压缩,银行事务,股票交易,数据库操作,复杂计算等。而且会话bean是可重用的组件,供操作业务流程中的逻辑使用。
会话bean的生命周期
会话bean不是持久化的,它仅仅是内存对象,会话bean不会保存到持久化存储源中,一旦其生存的周边环境遭到破坏,会话bean也将不复存在。通常客户会话的(Client Session)的持续其决定了使用的会话bean的存活期,如果客户超时EJB容器将销毁会话bean实例,会话bean实例是存活短暂的对象,并且会话bean实例不能够在多客户间共享。
会话bean的子类型
会话bean有两种子类型:有状态会话bean和无状态会话bean(区别上一篇中将过了)
有状态会话bean
实现实例池功能:EJB容器为了限制内存中运行的有状态会话bean实例的数量,EJB容器需要将有状态会话bean的会话状态保存到硬盘或者其它存储源中,该过程称之为挂起(Passivation)。在挂起有状态会话bean后,会话状态会被安全的保存下来,而且其释放的内存可以供其他应用(或EJB实例)使用。一旦被挂起的有状态会话bean实例的客户再次调用它,被挂起的会话状态将重新回到有状态的会话bean实例中,该过程称之为激活Activation)。现在有状态会话bean实例恢复了同原先客户的会话。但是激活的有状态会话bean实例不一定是服务于原先客户的那个实例,但并不影响使用。
EJB实例也具有有状态会话bean的实例池功能,在处理多个并发客户时,只需要在内存中存活若干个有状态会话bean实例。代价是挂起和激活过程将导致I/O性能瓶颈。维护无状态会话bean实例池是十分简单的,因为没有会话状态需要维护。无状态会话bean不存在挂起和激活操作,EJB容器可以随心所欲的销毁它。
EJB容器会挂起和激活哪个有状态会话bean实例? 这取决于EJB容器。
大部分容器使用最近最少使用(Least Recently Used LRU)策略,及简单的挂起最近没有使用到的有状态会话bean实例。如果有状态会话bean实例最近没有使用到,则EJB容器会挂起它,从而将会话状态保存到硬盘上。只要有状态会话bean实例没有参与到客户请求中,容器就能够随时挂起它。
为激活有状态会话bean实例,大部分EJB容器都会使用just-in-time算法,即只有在客户请求到来时,才会激活有状态会话bean实例。如果客户请求传到EJB容器中,而且容器已经挂起了该客户的会话状态,则容器马上激活它,从而将挂起状态信息写到内存中。
分享到:
评论

相关推荐

    EJB学习笔记.doc

    【EJB学习笔记】 EJB,全称为Enterprise Java Beans,是Java平台上的一个标准,用于开发和部署服务器端的分布式组件。它基于Java语言,为创建高效能、安全且可扩展的企业级应用提供了框架。EJB规范由Java ...

    程祖红达内EJB课堂笔记完全版.doc

    对于深入学习EJB3.0,可以参考《精通EJB3.0》和《Java Enterprise Bean3.0》这两本书籍。 总结来说,EJB是Java EE的重要组成部分,它提供了一种在服务器端构建可扩展、安全的企业级应用的方法。学习EJB涵盖了从基本...

    AnyFo - EJB 3葵花宝典.doc

    笔记详细介绍了创建无状态会话Bean的步骤,包括定义Remote接口(供远程客户端调用)和Local接口(供同一应用内的组件调用)。这两种接口定义了Bean的方法,客户端通过这些方法与Bean进行交互。 此外,笔记可能还会...

    java EJB资料

    - 提供的教程如“EJB学习笔记.docx”、“精通EJB3.0.pdf”等,通常涵盖了EJB的基本概念、组件使用、部署配置以及最佳实践。 9. **源码分析**: - “EJB3.0实例教程(含源码).rar”提供了实际项目源码,帮助读者...

    EJB资料,包括代码,课件,例子

    EJB核心概念包括会话Bean、实体Bean和消息驱动Bean,分别用于处理业务逻辑、持久化数据和异步通信。 标题中的“EJB资料,包括代码,课件,例子”意味着这是一个全面的学习资源,涵盖了从理论到实践的多个层面。这些...

    j2ee学习笔记

    EJB分为三种类型:Session Beans(会话bean)处理客户端交互,Entity Beans(实体bean)代表持久化数据,Message-driven Beans(消息驱动bean)处理JMS消息。 4. **JMS(Java Message Service)**:JMS提供了一种...

    java从零基础到精通的整个详细笔记(2012版)

    EJB提供组件模型,包括会话bean、实体bean和消息驱动bean。学习EJB需要理解bean的生命周期、容器管理的事务和安全性。 【模式】 在软件工程中,模式是一种解决常见问题的最佳实践。Java开发中常见的设计模式包括...

    传智播客J2EE基础班+就业班资料

    9. **EJB(Enterprise JavaBeans)**:了解企业级组件,如会话bean和实体bean,以及它们在分布式应用中的作用。 10. **JPA(Java Persistence API)与Hibernate**:学习对象关系映射(ORM)技术,简化数据库操作。 ...

Global site tag (gtag.js) - Google Analytics