EJB3.0 三种bean
来源:互联网 发布:帝国cms会员空间模板 编辑:程序博客网 时间:2024/06/06 00:30
会话bean(sessionbean):负责与客户端交互,是编写业务逻辑的地方,在会话bean中通过操作实体bean来完成对数据库的操作。
会话bean分为两种:
无状态会话bean (Stateful SessionBean):平常使用最多的是无状态bean,因为它的bean实例可供多个用户使用,所以它的性能比有状态bean高。正因为一个bean实例被多个用户使用,那么前一个用户设置的值有可能被后一个用户所修改,所以它无法正确保存某个用户设置的值,因此是无状态的。
如下代码:
有状态会话bean (Stateless SessionBean):有状态会话bean在项目中我还没有使用过,因为它的一个bean实例只供一个用户使用,所以性能开销比较大,正因为它的实例只被一个用户使用,用户为它设置的值是不会被其他用户修改,所以可以正确保存用户设置的值,因此是有状态的。
当客户机和服务器建立连接之后,状态会话bean将一直在客户机和服务器之间保持着用户的某个状态。
有状态Bean只是在类的注解上使用了:@Stateful
在代码上有状态Bean和无状态Bean区别不大,但是却是用了Bean实例的两种管理技术,即:
1. 无状态bean使用实例池技术管理bean。 容器会创建一些bean的实例,等待客户使用,和数据库连接池原理类似。
2. 有状态bean使用激活(activation)管理bean。 不存在、创建bean、钝化、激活。
EJB引入了激活机制。激活机制实现的原理是这样的,在EJB服务器需要节省资源时,就从内存中收回bean实例,将其所保持的会话状态序列化到硬盘中,并且释放其所占有的内存,这个过程为钝化。若此时客户端对EJB再次发起请求,EJB容器会重新实例化一个Bean实例,并从硬盘中将之前的状态恢复,这叫做激活。
实体bean(entitybean):它实际上属于java持久化规范(简称JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink等ORM框架各自为营的局面。
消息驱动bean(message-drivenbean):它是专门用于异步处理java消息的组件,具有处理大量并发消息的能力。只有在需要一个JMS客户的时候才会实用消息驱动bean。换句话说,消息驱动bean可以监听来自JMS消息服务的消息。客户绝对不会直接调用消息驱动bean;要想让消息驱动做点什么事情,客户必须向一个消息服务发出一条消息。这说明,消息驱动bean没有相应的EJBObject,因为服务器会从消息服务直接得到客户请求,而不是当客户向bean发出调用时截获客户请求。
- EJB3.0 三种bean
- EJB3.0实体Bean(三)
- EJB3.0 bean
- ejb3.0学习之三:会话Bean的生命周期
- EJB3简介、环境搭建、的三种bean
- Jboss Ejb3.0 Statefull Bean
- Jboss Ejb3.0 Entity Bean
- EJB3.0之(Entity)Bean
- EJB3.0Session Bean生命周期
- EJB3.0消息驱动Bean
- EJB3.0实体Bean(一)
- EJB3.0实体Bean(二)
- EJB3.0实体Bean(四)
- EJB3.0实体Bean(五)
- EJB3.0实体Bean(六)
- EJB3.0 实体bean 简析
- EJB3.0之(Entity)Bean
- EJB3.0---Stateless session bean
- “第一次”献给了CSDN
- lua自学笔记1
- 九九乘法表(java)
- flash上传头像剪裁预览组件 1.3版本发布了
- linux的.desktop文件,桌面快捷方式制作
- EJB3.0 三种bean
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- EV3DVue的3D技术工程系统应用
- Java 命令行参数 大全
- js删除所有cookie
- RealView编译器常用特有功能
- iOS开发那些事-平铺导航–基于分屏导航及案例实现
- ubuntu U盘挂载相关
- ASP.NET后台JS弹框使前台页面样式丢失 解决办法