1.@Remote 注释指明实现的接口是远程接口,@Local 注释指明实现的接
口是本地接口。当@Local 和@Remote 注释都不存在时,会话 Bean 实现的接口默认为 Local接口。
如果在本地用 EJB(确保客户端与 EJB 容器运行在同一个 JVM),采用 Local 接口访问 EJB 优于 Remote 接口,因为 Remote
接口访问 EJB 需要经过远程方法调用(RPCs)环节,而 Local 接口访问 EJB 直接从 JVM 中返回 EJB 的引用。
2. StatelessSessionBean不负责记录使用者状态,StatelessSessionBean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,StatelessSessionBean 的生命期也不一定结束,它可能依然存在于会话池
中,供其他用户调用。如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响。
所以有可能新NEW的那个对象,用的还是上个对象的东西
3.statefulsessionbean 必须实现 Serializable 接口,这样EJB容器才能在她们不再使用时序列化存储她们的状态信息.@SuppressWarnings("serial") 注释屏蔽缺少 serialVersionUID 定义的警告。
client端调用代码:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "127.0.0.1:1099");
props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
InitialContext ctx = new InitialContext(props);
HelloBeanRemote remote=(HelloBeanRemote)ctx.lookup("HelloBean/remote"); System.out.println(remote.sayHello("Beijing")); //远程方式
HelloBeanLocal local=(HelloBeanLocal)ctx.lookup("HelloBean/local");
System.out.println(local.localSay()); //本地方式
分享到:
相关推荐
**EJB3(Enterprise JavaBeans 3)是Java EE(Enterprise Edition)平台中用于构建企业级应用程序的重要组件模型。这个PPT教程详细介绍了EJB3的各种核心概念和技术,旨在帮助学习者掌握EJB3的核心特性并能实际应用到...
**EJB3基础教程** Enterprise JavaBeans(EJB)是Java平台上用于构建可扩展、安全且事务处理能力强的服务器端应用程序的重要技术。EJB3是EJB规范的一个重大改进版本,它极大地简化了开发过程,引入了许多现代编程...
4. **实体bean(Entity Beans)**:EJB3中的实体bean通常对应数据库中的记录,它们可以是容器管理的持久化(CMP)或Bean管理的持久化(BMP)。`@Entity`注解标记实体类,`@Table`定义映射的数据库表,`@Id`定义主键...
实体Bean是EJB3中的数据存储模型,它与数据库中的记录相对应。在EJB3中,实体Bean不再需要编写大量的接口和实现代码,而是利用注解(Annotations)来定义其行为和属性,大大减少了代码量。 2. **JPA和Hibernate** ...
在EJB3中,实体bean通常用于表示数据库中的记录。通过使用`@Entity`注解,我们可以将Java类声明为实体bean。`@Table`注解用于指定对应的数据库表,而`@Id`注解则标记主键字段。EJB3的JPA(Java Persistence API)...
3. **实体Bean**:代表数据库中的记录,通过JPA进行持久化操作。实体Bean可以是抽象的Java POJO(Plain Old Java Object),并且可以通过`@Id`注解指定主键。 4. **消息驱动Bean**:用于处理JMS(Java Message ...
当定时任务执行时发生异常,EJB容器会捕获并记录这些异常,但不会自动重试。开发者需要在方法中处理可能的异常情况,确保定时任务的健壮性。 8. **总结** EJB 3的定时器服务提供了一种简单而强大的方式来管理Java...
**简单EJB3例子** EJB(Enterprise JavaBeans)是Java平台上的企业级组件模型,用于构建可扩展、可移植和可信赖的企业级应用程序。EJB3是EJB规范的一个重要版本,它引入了许多简化开发的新特性,如注解驱动的编程...
【EJB3持久化】是Enterprise JavaBeans 3.0版本中的一个重要特性,它引入了更轻量级的持久化模型,旨在简化企业级应用程序的数据持久化操作。EJB3.0不再局限于传统的EJB2.1实体Bean,而是采用了POJO(Plain Old Java...
Struts、Spring和EJB3是Java开发中的三个重要框架,它们在企业级应用程序开发中发挥着关键作用。Struts提供了MVC(Model-View-Controller)架构,Spring强化了依赖注入和面向切面编程,而EJB3则是Java EE平台上的...
7. **ejb-3_0-pfd-spec-simplified.pdf**:这份文档重点讲解EJB 3.0的简化模型,如何通过注解实现更简洁的编码风格,以及如何利用依赖注入和容器服务来提高开发效率。 理解并熟练掌握EJB 3.0规范,对于开发高效、...
**EJB3(Enterprise JavaBeans 3)**是Java企业版(Java EE)中的一个核心组件,用于构建可扩展、安全且事务处理能力强的企业级应用程序。EJB3相较于之前的版本,引入了许多重大改进,旨在简化开发流程并提高生产力...
本笔记代码主要涵盖了EJB3的一些核心特性,包括定时任务(timer)、会话bean(session)、实体bean(entity)、拦截器(interceptor)、领域模型(domain)、客户端(client)、事务管理(transaction)、消息传递...
`EJB3.pdf`和`EJB3.0.ppt`很可能是关于EJB3的详细教程或者演讲稿,可能涵盖了EJB3的核心概念,如实体Bean、会话Bean和消息驱动Bean的使用,以及容器管理的持久性(CMP)和bean管理的持久性(BMP)的区别,还包括事务...
在EJB3中,关系映射是数据库与对象模型之间关联的一种方式,使得开发者可以更容易地操作数据库数据。本文将深入探讨EJB3中的一对一(One-to-One)关系映射的实例,以及如何通过Ext2和Ext2.0扩展EJB功能。 首先,一...
【ejb3+spring+struts实现简单银行系统】 在Java开发领域,EJB(Enterprise JavaBeans)3、Spring框架和Struts框架是常见的企业级应用开发技术,它们结合使用可以构建高效、可扩展的Web应用程序,特别是对于复杂的...
EJB3是Java EE平台的一部分,提供了一种简化的方式来创建可部署在服务器端的企业级组件,而动态代理则允许在运行时创建代理类,以实现代理模式,通常用于拦截方法调用,进行额外的操作如日志记录、事务管理或权限...
### EJB3 (Enterprise JavaBeans 3) 中的持久化单元包装详解 #### EJB3 概念介绍 EJB3(Enterprise JavaBeans 3)是Java企业级应用的一个重要组成部分,代表了Java平台上的服务器端组件模型。EJB3 的主要特性之一...
为了更好地理解EJB 2.0和EJB 3.0的不同之处,以下是一些具体的示例: 1. **实体Bean示例** - **EJB 2.0**: ```java public interface CustomerHome extends EJBHome { Customer create(String name, String ...