EJB 3.0入门:Stateless Session Beans
2007-04-10 14:26
429 查看
EJB容器的一个重要功能是管理服务对象。该容器实例化对象,管理器生命周期,维护对象池,提供从应用程序其他部分访问对象的方法。一个EJB 3.0 session bean是一个由EJB容器管理的POJO。在这个例子的以后部分我们将看到,一个session bean允许我们使用容器的安全,事务,消息,持久,和其他服务。
一个session bean的功能由它的服务interface 定义,该interface是一个plain old Java interface。利用interface 类名,session bean根据服务器的JNDI,回复该bean的stub对象。该 stub对象实现了该bean的服务接口。然后客户端即可呼叫bean的接口函数。stub对象简单地将呼叫传递给容器中的实际bean进程,容器来实现函数,做实际工作。stub对象由EJB容器自动生成,stub对象知道如何将对bean函数的呼叫告知容器--你无需提供stub对象的实现。
对stateless session bean来说,客户端stub对象能将你对函数的调用路由到恰好在容器管理的对象池中存在的bean进程。因此,你不能在bean类中存在任何保存bean状态的属性。负责,任何依靠这些属性的函数在经过一段时间后会发生不可预知错误。
例子程序:
建立一个stateless session bean,执行投资计算。客户端程序(一个servlet 或rich UI client)从容器中取得一个bean的reference ,并使用它的计算服务。
定义session bean接口
首先应定义包含商业函数的服务接口。该session bean接口仅仅是plain old Java接口,没有任何annotation。客户端利用该接口从EJB 3.0 容器取得session bean的stub对象。
private Calculator cal = null;
// ... ...
Stateless
@LocalBinding (jndiBinding="EJB3Trail/LocalCalculator")
@RemoteBinding (jndiBinding="EJB3Trail/RemoteCalculator")
@Remote
public interface RemoteCalculator ...{
// ... ...
}
完整代码:
EJB server
Calculator.java: 本地接口
StatelessCalculator.java: 本地接口的session bean实现
RemoteCalculator.java: 远程接口
StatelessCalculator2.java: 远程接口的session bean实现 with alternative JNDI binding names
EJB client
calculator.jsp: calculator session bean的客户端 (使用本地接口)
摘要
在本节学习了怎样开发stateless session bean。下一节,我们将讨论另一类型的session beans,stateful session beans,在web应用中非常重要。
翻译自: http://trailblazer.demo.jboss.com/EJB3Trail/serviceobjects/slsb/index.html
一个session bean的功能由它的服务interface 定义,该interface是一个plain old Java interface。利用interface 类名,session bean根据服务器的JNDI,回复该bean的stub对象。该 stub对象实现了该bean的服务接口。然后客户端即可呼叫bean的接口函数。stub对象简单地将呼叫传递给容器中的实际bean进程,容器来实现函数,做实际工作。stub对象由EJB容器自动生成,stub对象知道如何将对bean函数的呼叫告知容器--你无需提供stub对象的实现。
对stateless session bean来说,客户端stub对象能将你对函数的调用路由到恰好在容器管理的对象池中存在的bean进程。因此,你不能在bean类中存在任何保存bean状态的属性。负责,任何依靠这些属性的函数在经过一段时间后会发生不可预知错误。
例子程序:
建立一个stateless session bean,执行投资计算。客户端程序(一个servlet 或rich UI client)从容器中取得一个bean的reference ,并使用它的计算服务。
定义session bean接口
首先应定义包含商业函数的服务接口。该session bean接口仅仅是plain old Java接口,没有任何annotation。客户端利用该接口从EJB 3.0 容器取得session bean的stub对象。
private Calculator cal = null;
// ... ...
Stateless
@LocalBinding (jndiBinding="EJB3Trail/LocalCalculator")
@RemoteBinding (jndiBinding="EJB3Trail/RemoteCalculator")
@Remote
public interface RemoteCalculator ...{
// ... ...
}
完整代码:
EJB server
Calculator.java: 本地接口
StatelessCalculator.java: 本地接口的session bean实现
RemoteCalculator.java: 远程接口
StatelessCalculator2.java: 远程接口的session bean实现 with alternative JNDI binding names
EJB client
calculator.jsp: calculator session bean的客户端 (使用本地接口)
摘要
在本节学习了怎样开发stateless session bean。下一节,我们将讨论另一类型的session beans,stateful session beans,在web应用中非常重要。
翻译自: http://trailblazer.demo.jboss.com/EJB3Trail/serviceobjects/slsb/index.html
相关文章推荐
- EJB 3.0入门:Stateless Session Beans
- ejb3.0入门实例
- EJB 3.0入门
- EJB学习笔记-2-Session Bean stateless/remote
- EJB 3.0 入门介绍
- EJB3.0开发入门及其一些重要的特性
- Beans入门必读之经典EJB例子代码
- EJB 3.0 Session Bean JNDI名称的设置和获取(服务器Glass Fish)
- Beans入门必读之高级EJB的概念
- EJB 3.0入门:Stateful Session Bean
- Enterprise JavaBeans 3.0 EJB服务器端组件
- EJB 3.0入门:Stateful Session Bean
- DWR3.0框架入门(2) —— DWR的服务器推送
- EJB 3.0 开发指南之定时服务
- Spring MVC---3.0 简单入门以及相关理解
- 使用 EJB 3.0 Java Persistence API 设计企业应用程序
- Stateless 3.0——.NET Core上的状态机库
- javaweb入门笔记(5)-cookie和session
- 对EJB3 Stateless和Stateful的认识