ejb @Stateful注解表明该session bean 为有状态对象 就是,每次通告jndi 查找的时候生成新的对象
ejb @Stateless 注解表明被注解 session bean 为无状态对象 ,类似singleton 单例对象
因为Stateful对象的需要令牌维持客户端和该对象间的通讯,所以性能方面不如Stateless
业务对象一般采用单例session对象,所以一般采用Stateless 对象;
定义接口
public interface Ejb02 {
public int getResult();
}
业务接口的实现
@Remote
@Stateful
public class Ejbstateful implements Ejb02 {
private int i;
public int getResult() {
return i++;
}
}
@Remote
@Stateless
public class Ejbstateless implements Ejb02 {
private int i;
public int getResult() {
return i++;
}
}
j2se 客户端的实现
public class Test {
public static void main(String[] args) throws Exception {
InitialContext context=new InitialContext();
//非单例,每次测试的时候 都是从0开始
Ejb02 ejb02=(Ejb02)context.lookup("Ejbstateful/remote");
int s=ejb02.getResult();
System.out.println(s);
s=ejb02.getResult();
System.out.println(s);
s=ejb02.getResult();
System.out.println(s);
s=ejb02.getResult();
System.out.println(s);
//单例对象,每次测试都从上次的最大数开始
Ejb02 ejb02_2=(Ejb02)context.lookup("Ejbstateless/remote");
int x =ejb02_2.getResult();
x=ejb02_2.getResult();
System.out.println(x);
x=ejb02_2.getResult();
System.out.println(x);
x=ejb02_2.getResult();
System.out.println(x);
}
}
0
1
2
3
25
26
27
分享到:
相关推荐
有状态会话Bean与无状态Bean的主要区别在于它们能保留客户端会话状态。当客户端首次与有状态Bean交互时,服务器会为该客户端创建一个专用实例。这个实例会记住客户端的所有交互信息,直到客户端结束会话或Bean被...
**有状态和无状态EJB(Enterprise JavaBeans)之间的差异** 在Java企业级应用开发中,EJB是一种标准组件模型,用于构建可扩展、安全且事务处理能力强大的服务器端应用程序。EJB分为两种主要类型:有状态会话bean...
与无状态session bean相反,有状态session bean保留了客户端会话的上下文。它们可以记住客户端的多个调用之间的状态,适合处理涉及多个步骤的事务或个性化用户界面。然而,由于它们需要存储状态,所以内存占用较大...
**EJB3(Enterprise JavaBeans 3)**是...总之,EJB3的有状态和无状态会话Bean提供了灵活的业务逻辑处理方式,适用于不同类型的场景。理解它们的区别以及如何在Web应用程序中进行测试和部署是Java EE开发者必备的技能。
基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-...
Java EJB中有、无状态SessionBean的两个例子,的无状态SessionBean可,会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等; 在有状态SessionBean中,用累加...
**EJB3.0无状态SessionBean例子** Enterprise JavaBeans(EJB)是Java平台上的一个核心组件,用于构建企业级分布式应用。EJB3.0是EJB规范的一个重大改进,它引入了诸多简化开发的新特性,使得EJB更加轻量级且易于...
与无状态会话Bean不同,有状态会话Bean会在客户端之间保持状态,因此每个客户端都有一个与之关联的唯一实例。 **有状态SessionBean寿命周期** 容器管理有状态会话Bean的生命周期,包括实例的创建、维护和销毁。当...
在给定的"Java EJB中有、无状态SessionBean的两个例子"压缩包中,可能包含了以下内容: - 有状态SessionBean示例:可能包含一个实现SSB的Java类,以及对应的接口。这个类会覆盖一些方法来处理客户端的请求,并在...
与有状态会话Bean不同,无状态会话Bean并不保存客户端状态,这使得它们更加轻量级且易于扩展。本文将详细介绍如何开发一个无状态会话Bean并在WebLogic服务器上部署及调用。 #### 二、无状态会话Bean基础概念 在深入...
- 与无状态Bean相反,有状态SessionBean保存了客户端会话的状态。它们可以跟踪多个调用之间的信息,例如购物车应用中的用户选择商品的例子。 - 生命周期:有状态SessionBean在客户端首次调用时创建一个实例,并在...
总的来说,这个压缩包为Java开发者提供了一个学习EJB Session Bean的良好起点,无论是有状态还是无状态,都能帮助你更好地理解和应用这一强大的组件。在实践中,结合其他Java EE技术,如JPA(Java Persistence API)...
2. **无状态Session Bean (Stateless Session Bean)**:与有状态Session Bean相反,无状态Session Bean不保留任何关于客户端会话的信息。每次客户端调用方法时,它都独立于之前的调用。无状态Session Bean适用于那些...
例如,一个无状态Session Bean在EJB3中可以用以下代码表示: ```java package example; @Stateless public class TestSessionBean implements TestSessionLocal { public void xxxx() { System.out.println(...
本教程将深入探讨基于Java的EJB中的有状态和无状态Session Bean。 1. 有状态Session Bean(Stateful Session Bean) 有状态Session Bean(SFSB)能够保持与客户端的会话状态,即它能够记住客户端的交互历史。这种...
总结来说,这个实例展示了如何利用Java的EJB技术,特别是无状态Session Bean,来与ArcGIS地图服务器进行交互。通过这种方式,开发者可以构建可复用、可扩展的服务,以满足GIS应用中的各种需求,如地图查询、数据分析...
实现有状态Session Bean的步骤与无状态类似,但需要使用`@Stateful`注解,并且生命周期管理更为复杂: 1. 定义接口:创建业务方法接口。 2. 实现接口:创建实现接口的EJB类,使用`@Stateful`注解。 3. 存储和管理...
与无状态SessionBean相反,有状态SessionBean能够保留与特定客户端交互的信息,存储了客户端的状态。这使得它更适合于需要跟踪用户购物车、游戏进度等场景。在压缩包中,你可能看到一个名为` StatefulExample `的类...