EJB(Enterprise Java Beans)用于部署分布式应用程序,是把已经编写好的程序(即:类)打包放在服务器上执行。其中,Beans分别为会话Bean(Session Bean)、实体Bean(Entity Bean)、消息驱动Bean(MessageDriven Bean)。
Session Bean
会话Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个Session Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。
Entity Bean
实体Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个EntityBean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将EntityBean的状态和数据库同步。
MessageDriven Bean
消息驱动Bean是唯一一种必须实现一个业务接口的Bean,它业务接口不是一个真正意义上的业务接口,只是一个消息接口。它基于JMS消息,只能接收客户端发送的JMS消息然后处理。MDB是一个无状态的Session Bean,MDB将异步处理客户请求,因此客户端调用MDB后无需等待,立刻返回。
小结
在这里只是简单的介绍EJB的三种不同类型的Bean,对这三种Bean的简单认识,之后还会具体分析。