Study EJB (2)
来源:互联网 发布:linux nginx配置ssl 编辑:程序博客网 时间:2024/05/22 15:30
Study EJB 2
EJB的类型:
可以按照以下的特性区分它们:
1. 实现的接口
2. 同步,还是异步。
3. 是否保持状态。
4. 远程,还是本地。
1.按照接口。
会话bean. 必须实现javax.ejb.SessionBean
实体bean. 数据持久化bean必须实现javax.ejb.EntityBean.
消息bean. 这种bean处理来自消息队列的消息,必须实现javax.ejb.MessageDrivenBean.
以上三个bean都继承自EnterpriseBean.
2. 同步bean,异步bean
实体bean和会话bean只能按同步方式调用。
消息bean,就是异步bean。只能被异步调用,它们没有本地接口而且不能被直接调用。它们被连接到一个消息队列中,当有消息要处理的时候被EJB容器调用。
3. 在EJB中保持状态
在EJB的对象池中有A、B、C三个Bean对象,请求D、E在第一次的时候容器分别分配给它们A、B对象,当D、E第二次请求的时候容器分配给它们的是C、B对象。请求F要求在容器重起以后仍旧可以调用上一次掉用的C对象,所以容器把C对象保存报数据库中,下一次请求F就可以再次调用相同的C bean了。
以上的A、C为无状态bean(stateless bean)。它们不能保存状态。
B为有状态bean(stateful bean)。容器可以保证在请求的bean是相同的一个,客户可以存储有状态bean的句柄,句柄可以被串行化,以后可以调用相同的bean。但是有状态bean在容器重起后就失效了,所以它是正在的会话bean。
C为持久化bean(entity bean)。实体bean可以将它的状态保存到持久化数据存储。
4. 远程EJB与本地EJB
本地EJB是在2.0版本引进的。存在于本JVM中,所以不需要存根和骨架。
本地EJB扩展的接口不同于远程的EJB:
javax.ejb.LocalEJBObject 而不是javax.ejb.EJBObject
javax.ejb.EJBLocalHome 而不是 javax.ejb.EJBHome
它不会throw java.rmi.RemoteException
修改bean的时候会影响其它bean的使用者。
- Study EJB (2)
- EJB study
- Study EJB (1)
- EJB's study
- study notes for EJB 3 in action (I)
- study notes for EJB 3 in action (II)
- study notes for EJB 3 in action (III)
- VBA Study(2)
- Log4j Study(2)
- OpenGL Study 2
- lucene study notes (2)
- awk study(2)
- perl study note-2
- Study Jquery jqGrid (2)
- flex study notes (2)
- Study period 2
- Vim Tutorial Study(2)
- vc-study-2
- Tomcat5配置mysql4数据源
- 如何得到硬盘序列号?.NET版本[C#]
- Java代码构建一个线程池
- 国内技术创新型公司的一个问题(ZT)
- 如何实现VB与EXCEL的无缝连接(ZT)
- Study EJB (2)
- OpenGL中的矩阵存储方式
- 得到excel的表名
- VB.net今天开始学习
- Java学习资源
- 今天来看看
- WinSock API网络编程——UDP协议(http://www.impcas.ac.cn/usr/lujun/browse.asp?id=winsock_udp)
- ADO访问数据库(http://www.impcas.ac.cn/usr/lujun/browse.asp?id=ado)
- 行政区划代码(用于判断身份证)