`
leon.s.kennedy
  • 浏览: 110510 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

开发有状态session bean

    博客分类:
  • ejb3
 
阅读更多

尽管有状态bean和无状态bean在代码上的区别不是很大
但两者才用的对bean的管理的技术是不一样的

 

Bean实例的两种管理技术:

1.无状态bean使用实例池技术管理bean

开发有状态session <wbr>bean
实例池技术会被多个用户所共享(和数据源技术是相同的)
当用户从实例池取出一个对象后,这个对象是不能被其他用户使用的
当用户使用完这个对象后,这个对象还会被后面的对象所使用
这样可以大大减少对象的数量,来提高系统性能


2.有状态bean使用激活(activation)管理bean

开发有状态session <wbr>bean
有许多个用户来访问,生成多个有状态bean
将这些有状态bean缓存起来
当一个用户访问过bean后,可能过段时间才继续访问,也可能不访问了
可以去优化这些有状态bean:
如果这个有状态bean一段时间内没有被用户访问,则容器把有状态bean用户会话信息,序列化到硬盘上,并释放内存(钝化) 从内存到硬盘上
如果在总的缓存时间之内,用户又发起了请求,这时EJB容器会把保存在硬盘上信息的bean又还原到内存中,为用户服务;(激活) 从硬盘到内存中
如果在缓存时间内用户没有访问(访问超时),EJB容器有个线程,会把保存在硬盘上的bean信息清除掉;在总的缓存时间过后,再去访问bean,会得到一个例外(异常),说这个bean已经超时了
采用激活技术,大大提高了系统性能

 

显然,无状态bean的性能是比有状态bean的性能高
无状态bean用最少的对象,来为更多的用户服务
有状态bean要为每一个用户创建对象去服务

 

如果不需要保存用户状态时,优先选用无状态bean
如果要为每个用户保存他的会话信息时,使用有状态bean
最经典的有状态bean的例子:购物车

-----------------------------------------------------------------

 

有状态bean的开发步骤和无状态bean的开发步骤是比较相似的
只需把@Stateless用于标注无状态bean的注解
更换为:@Stateful 有状态bean
即可完成有状态bean的开发,之后通过ant部署到jboss上

 

代码:

@Stateful //有状态bean
@Remote(HelloWorld.class)//指定HelloWorld接口为远程接口、默认是本地接口
@Local(HelloWorldLocal.class) //使用本地接口
public class HelloWorldBean implements HelloWorld,HelloWorldLocal {

 @Override
 public String sayHello(String name) {
  return name+"说:你好,世界!";
 }

}

0
0
分享到:
评论

相关推荐

    Java EJB中有、无状态SessionBean的两个例子.rar

    理解并熟练运用有状态和无状态SessionBean是Java EE开发中的重要技能。通过研究和实践这些示例,你可以更深入地了解这两种Bean在实际项目中的应用,以及它们在处理不同业务需求时的优势和限制。同时,Swing程序和...

    基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip

    基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-EJB中有、无状态SessionBean的两个例子.zip 基于java的开发源码-...

    EJB3.0无状态SessionBean例子

    总结,EJB3.0无状态SessionBean的例子展示了如何利用注解简化开发流程,以及如何通过本地和远程接口进行组件间的通信。理解并掌握这些概念对于构建可扩展、健壮的企业级Java应用至关重要。通过学习这个示例,开发者...

    EJB3.0开发Session Bean.rar

    无状态Session Bean不保留任何关于客户端的信息,而有状态Session Bean可以存储客户端特定的信息,以提供个性化的服务。 **3. Session Bean的类型** - **无状态Session Bean (Stateless Session Bean)**:每个...

    EJB的开发及应用,Session Bean的开发

    与Stateful Session Bean(有状态会话Bean)不同,它维护了客户端会话状态,而Stateless Session Bean(无状态会话Bean)则不保留任何客户端状态,每次调用都独立于其他调用。Session Bean主要用于表示业务逻辑,...

    Java EJB中有、无状态SessionBean的两个例子

    1. **有状态Session Bean (Stateful Session Bean)** 有状态Session Bean(SFSB)保存了与客户端交互的上下文信息,也就是说,它们能够记住客户端的会话状态。这在处理多步骤事务或者需要个性化服务的情况下非常...

    Java EJB中有、无状态SessionBean的两个例子.zip_1H1_Java EJB_UOL

    2. **无状态Session Bean (Stateless Session Bean)**:与有状态Session Bean相反,无状态Session Bean不保留任何关于客户端会话的信息。每次客户端调用方法时,它都独立于之前的调用。无状态Session Bean适用于那些...

    Java EJB中有、无状态SessionBean的两个例子.7z

    **有状态Session Bean(Stateful Session Bean)** 有状态Session Bean则能够存储和管理与客户端会话相关的信息。每个客户端会话都对应一个唯一的Session Bean实例,它能记住客户端的上下文信息,适合处理需要跟踪...

    学习SessionBean

    - **有状态SessionBean**:能记住客户端的会话状态,适用于需要跟踪用户操作序列或保存购物车等场景。 ### 4. SessionBean的接口 每个SessionBean都需要定义一个接口,客户端通过这个接口来调用Bean的方法。接口...

    基于Java的源码-EJB中有、无状态SessionBean的两个例子.zip

    例如,一个购物车应用,每个客户可能有不同的商品选择,这就需要有状态Session Bean来存储每个客户的购物车信息。在示例中,你会看到有状态Session Bean如何通过@Stateful注解标记,并且如何在业务方法中访问和修改...

    基于Java的EJB中有、无状态SessionBean的两个例子.zip

    总的来说,理解并熟练使用无状态和有状态SessionBean是Java EE开发的关键技能,它们在处理业务逻辑和管理会话状态方面发挥着重要作用。通过深入学习和实践这两个例子,开发者可以更好地了解如何在实际项目中运用EJB...

    java源码:Java EJB中有、无状态SessionBean的两个例子.zip

    有状态SessionBean(SFSB,Stateful Session Bean)能够记住客户端交互的上下文信息,保持与客户端的会话状态。当一个客户端调用SFSB的方法时,它会与特定的Bean实例关联,这个实例保存了所有该客户端的调用历史和...

    Session Bean的使用

    JavaBean和Session Bean是Java企业级应用开发中的重要概念,特别是在使用Enterprise JavaBeans(EJB)技术时。本文将深入探讨这两个概念,以及如何在实际项目中使用它们。 首先,让我们了解什么是JavaBean。...

    基于Java的实例源码-EJB中有、无状态SessionBean的两个例子.zip

    与无状态SessionBean相反,有状态SessionBean能够保留与特定客户端交互的信息,存储了客户端的状态。这使得它更适合于需要跟踪用户购物车、游戏进度等场景。在压缩包中,你可能看到一个名为` StatefulExample `的类...

    基于Java的实例开发源码-EJB中有、无状态SessionBean的两个例子.zip

    1. 有状态SessionBean(Stateful Session Bean,SFSB) 有状态SessionBean维护了与客户端会话的状态信息。这意味着当一个客户端与SFSB交互时,它保留了客户端的上下文信息,如用户数据、购物车等。在EJB3.0及其后续...

    SESSIONBEAN 和客户端相结合 的例子

    而有状态SessionBean则可以保存客户端的状态信息,适用于需要跟踪用户会话的情况。 Oracle数据库是广泛使用的的关系型数据库管理系统,尤其在企业级应用中非常常见。结合SessionBean,我们可以利用JDBC(Java ...

    session bean

    Session Bean主要有两种类型:Stateful Session Beans(有状态会话Bean)和Stateless Session Beans(无状态会话Bean)。Stateless Session Beans在处理客户端请求时不会维护任何特定客户端的状态,每个请求都被视为...

    实战EJB之三 开发会话Bean(有状态会话Bean).doc

    开发一个有状态会话Bean需要继承javax.ejb.SessionBean接口,并实现相应的生命周期方法,如ejbCreate()、ejbRemove()、ejbPassivate()、ejbActivate()等。 5. 部署到应用服务器 在部署到应用服务器时,需要配置ejb...

    基于java的EJB中有、无状态SessionBean的两个例子.zip

    本教程将深入探讨基于Java的EJB中的有状态和无状态Session Bean。 1. 有状态Session Bean(Stateful Session Bean) 有状态Session Bean(SFSB)能够保持与客户端的会话状态,即它能够记住客户端的交互历史。这种...

    Stateful--sessionbean.zip_sessionBean_stateful

    标题"Stateful--sessionbean.zip_sessionBean_stateful"表明这个压缩包包含有关有状态会话Bean的实现资料,可能包括设计思路、步骤截图和源代码。这些资源对于理解如何创建和使用SFSB至关重要。 描述中的"有状态的...

Global site tag (gtag.js) - Google Analytics