3、EJB3.0开发第一个无会话Bean和客户端(jboss4.2.3)

1、EJB中的3种bean

  1、会话bean

    负责与客户端交互,在编写业务逻辑的地方,会话bean可以通过jdbc直接操作数据库

    分为:

    无状态会话bean:我们使用最多的是无状态会话bean,因为它的bean实例可以被多个用户使用,性能比有状态会话bean高,但是无法保存某个用户设置的值

    有状态会话bean:它的一个bean实例只供一个用户使用,所以它的性能开销比较大

  2、实体bean

    属性java持久化规范(JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束Hibernate和TopLink等ORM各自为营的局面

  3、消息驱动bean

    专门用于异步处理java消息的组件,并具有大量发消息的能力

2、开发工具

  1、开发工具:Eclipse IDE for Java EE

  2、开发EJB依赖的jar文件:在jboss4.2.3安装路径的client目录下,通常把里面的所有jar添加到类路径下

3、开发接口、实现类

  写接口

  写实现类,加@Stateless--->无会话 @Remote(HelloWorld.class)---->远程 注释

  导出jar包

  发布目录jboss-4.2.3.GA\server\default\deploy

4、java类作为客户端试验  

  public class EJBClient {
  public static void main(String[] args) {
    Properties props=new Properties();
    props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");//JNDI连接工厂
    props.setProperty("java.naming.provider.url","localhost:1099");//JNDI连接应用服务器的地址和端口
    try {
      InitialContext ctx=new InitialContext(props);
      HelloWorld helloWorld=(HelloWorld)ctx.lookup("HelloWorldBean/remote");

      System.out.println(helloWorld.getClass().getName());//这里的helloWorld对象实例不是我们在服务器端编写的HelloworldBean,而是一个代理对象

      System.out.println(helloWorld.sayHello("天空"));
    } catch (NamingException e) {
      System.out.println(e.getMessage());
    }
  }

}

5、Jboss默认生成的JNDI名称

  如果把EJB作为模块打包进后缀名为*.ear的JAVAEE企业应用文件,默认全局JNDI的名称是:

    本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local

    远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote

    EAR-FILE-BASE-NAME是ear文件名,EJB-CLASS-NAME是EJB非限定类名

  如果把EJB应用打包成*.jar的模块文件,默认全局JNDI的名称是:

    本地接口:EJB-CLASS-NAME/local

    远程接口:EJB-CLASS-NAME/remote

  

  

时间: 2024-10-04 18:37:57

3、EJB3.0开发第一个无会话Bean和客户端(jboss4.2.3)的相关文章

EJB开发第一个无状态会话bean、开发EJB客户端

开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过JDBC直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作. 实体Bean(Entity Bean) 它实际上属于java持久化规范(JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate.TopLink等ORM框架各自为营的局面. 消息驱动Bean(Messag

Kinect For Windows2.0开发第一篇之搭建环境

一.环境需求: 1.Windows8,8.1     以上操作系统,Visual Studio2012以上 2.如果你有一台XboxOne上的Kinect就不用单独购买Kinect了,直接拿来做开发就可以,只需要去微软商城购买一台Kinect For Windows2.0Adapter 适配器就OK. 3.机器必须原生支持USB3.0,经过验证USB2.0无法使用,在京东购买了个PCI-E的转USB3.0的接口,测试发现不支持,看来必须是原生支持usb3.0才能用. 4.安装kinect con

EJB3.0高速入门项目开发步骤

EJB3.0开发步骤 1.   开发环境 IDE开发工具:Eclipse Java EE IDE for Web Developers EJB容器:jboss-4.2.3.GA 后台数据库:MysQL5.1 2.   开发步骤 2.1   在Eclipse中配置jboss-4.2.3.GA 1.  点击小三角,选中New server 2.  选中JBOSS AS4.2 3.  点击ADD.进行JBOSS配置 4.  在Home Directory中.点击Browser选择JBOSS4.2的安装

EJB初级篇--EJB组件之会话Bean

上篇博文中我们已经详解介绍了什么是EJB.其实最简单的说:EJB就是运行在独立服务器上的组件,客户端是通过网络对EJB对象进行调用的.而我们常说的企业Bean组件可以分为三种类型:会话Bean.消息驱动Bean和实体Bean.依据应用设计的不同,开发者可以选择适合应用的组件类型.下面几篇博文中我会为大家分别详细的介绍这三种企业Bean组件.本篇博文则就先来介绍介绍会话Bean吧. 首先来介绍一下,什么是会话Bean.会话Bean能够完成客户所要求的业务操作,它是含有业务逻辑的可重用组件,并能够用

EJB3.0 EJB开发消息驱动bean

(7)EJB3.0 EJB开发消息驱动bean JMS 一: Java消息服务(Java Message Service) 二:jms中的消息 消息传递系统的中心就是消息.一条 Message 由三个部分组成:             头(header),属性(property)和主体(body). 消息有下面几种类型,他们都是派生自 Message 接口.           StreamMessage:一种主体中包含 Java 基元值流的消息.其填充和读取均按顺序进行.          

EJB3.0中的session bean以及MDB解析

大型业务系统面临的主要问题就是高并发性和事务访问,客户端的数量与服务器端的分布式对象数量存在一定程度的正比关系,客户端数量越多,服务器端分布式对象也就越多,如何解决这种高并发的问题也就成了企业级架构首先要解决的问题.EJB作为一种服务器端分布式组件,为我们提供了应对策略. EJB提供了两种管理大量分布式对象的策略:实例池化和激活.下面分别对EJB组件模型中的三种模型进行一些分析. 第一种:无状态的会话Bean(Stateless session bean) Stateless session b

无状态会话bean(1)---定义(未排版)

无状态会话bean用于完成在单个方法的生命周期内的操作.无状态bean可以实现许多业务操作,但是每个方法都不能假定任何其他的方法会在它之前调用. 这听起来像是无状态的bean的一个局限.但是这是迄今为止业务服务最常见的形式.不同于适合在对话中积累状态(如零售应用程序的购物车)的有状态会话bean,无状态回话bean旨在非常有效的执行独立操作.无状态会话bean可以在最小化对整体服务器资源影响的同时,扩展到大量的客户端. 会话bean定义分为如下两个部分: 零个或多个业务接口,定义了一个客户端在b

EJB3.0

由于EJB2.0的复杂性,在Spring和Hibernate[1]  等轻量级框架出现后,大量的用户转向应用轻量级框架.在大家的呼声中, EJB 期待已久的EJB3.0规范终于发布了.在本文中将对新的规范进行一个概要性的介绍,包括新增的元数据支持,EJBQL的修改,实体Bean模型访问bean上下文的新方法和运行时环境等等.作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系. 开始 无论如何由于EJB的复杂性使之在J2EE架构中的表现一直不是很好.EJB大概是J2EE架

itoo中为什么要用EJB3.0分布式框架

一说到EJB,总是有一种感觉就是EJB已经过时了,或者是在项目中,EJB太笨重了,使用过程中很多的功能都没有体现出来,而且EJB还会影响性能,但是在ITOO中为什么还要用EJB分布式框架呢? ITOO的技术框架结构图如下所示: 从这个图中可以看出,业务逻辑层使用EJB容器进行管理的,我刚开始接触到时候,我也很好奇为什么要用EJB分布式,而没有用webservice或者是现在比较火的阿里巴巴的dubbo+zookeeper呢.现在我就来解释以下为什么要选用企业级的ejb3.0. 第一:EJB3.0