EJB中的三种bean
会话bean(session bean)
负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作。
实体bean(entity bean)
它实际上属于java持久化规范(简称JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink等ORM框架各自为营的局面。
消息驱动bean(message-driven bean)
它是专门用于异步处理java消息的组件,具有处理大量并发消息的能力。
会话bean
无状态会话bean
平常,我们使用最多的是无状态bean,因为它的bean实例可供多个用户使用,所以它的性能比有状态bean高,正因为一个bean实例被多个用户使用,那么,前一个用户设置的值有可能被后一个用户所修改,所以它无法正确保存某个用户设置的值,因此是无状态的。
有状态会话bean
有状态bean平常使用的并不多,因为它的一个bean实例只供一个用户使用,所以性能开销比较大,正因为它的实例只被一个用户使用,那么,用户设置的值是不会被其他用户所修改,所以可以正确保存用户设置的值,因此是有状态的。
EJB3.0开发一个无状态会话bean
编写EJB3.0接口类
public interface HelloWorld {
public String sayHello(String name);
}
编写EJB3.0实现类
import javax.ejb.EJB;
import javax.ejb.Remote;
import javax.ejb.Local;
import javax.ejb.Stateless;
import wang.ejb3.HelloWorld;
import wang.ejb3.HelloWorldLocal;
import wang.ejb3.Other;
@Stateless
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld, HelloWorldLocal {
@EJB Other other;
public String sayHello(String name) {
return name + "说:你好,世界";
}
}
编写项目的构建文件build.xml
<?xml version="1.0" encoding="utf-8"?>
<project name="HelloWorld" basedir=".">
<property name="src.dir" value="${basedir}\src" />
<property environment="evn" />
<property name="jboss.home" value="E:\jboss-5.0.1.GA"/>
<property name="jboss.server.config" value="default"/>
<property name="build.dir" value="${basedir}\build"/>
<path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar"/>
</fileset>
<pathelement location="${build.dir}"/>
</path>
<target name="prepare">
<delete dir="${build.dir}"/>
<mkdir dir="${build.dir}"/>
</target>
<target name="compile" depends="prepare" description="编译">
<javac srcdir="${src.dir}" destdir="${build.dir}">
<classpath refid="build.classpath"/>
</javac>
</target>
<target name="ejbjar" depends="compile" description="创建EJB发布包">
<jar destfile="${build.dir}\${ant.project.name}.jar">
<fileset dir="${build.dir}">
<include name="**/*.class"/>
</fileset>
</jar>
</target>
<target name="deploy" depends="ejbjar" description="发布EJB">
<copy file="${build.dir}\${ant.project.name}.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy"/>
</target>
<target name="undeploy" depends="deploy" description="卸载EJB">
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\${ant.project.name}.jar"/>
</target>
</project>
利用构建文件把该项目打成jar包,发布到jboss服务器中
编写jndi属性文件jndi.properties,在该文中配置相关属性,以便在客户端中利用jndi查找EJB业务类
import javax.naming.InitialContext;
import javax.naming.NamingException;
import wang.ejb3.HelloWorld;
public class EJBClient {
public static void main(String[] args) {
try {
InitialContext ctx = new InitialContext();
HelloWorld helloworld = (HelloWorld)ctx.lookup("HelloWorldBean/remote");
System.out.println(helloworld.sayHello("李四"));
} catch (NamingException e) {
e.printStackTrace();
}
}
}
运行jboss服务器,运行客户端类的main方法,得到执行结果:
李四说:你好,世界
从结果说明,客户端调用ejb业务方法成功。
本文来自CSDN博客,转载请标明出处:开发一个远程接口无状态会话bean%20-%20天空的云%20-%20CSDN博客.htm
分享到:
相关推荐
- **JBoss IDE 1.5 GA**:提供了一整套针对JBoss应用程序服务器的集成开发环境(IDE),支持EJB3.0、JBPM、JBoss AOP等技术。 - **Eclipse WTP插件**:Web Tools Platform,用于开发Java EE项目,本例中用于创建一个...
【标题】:“ejb2.0消息驱动bean的开发(JBOSS4.0.4.GA 环境)” 在Java企业版(Java EE)的早期版本中,EJB(Enterprise JavaBeans)2.0是核心组件之一,用于构建分布式、事务处理和面向服务的业务应用程序。消息...
MyEclipse支持EJB3.0项目创建、编译和部署,通过与JBoss的紧密集成,可以实现一键式部署和测试。 #### 三、JBoss目录结构解析 JBoss的目录结构对于理解和管理EJB项目至关重要。主要目录及其功能如下: - `bin`:...
- **服务器配置**: 如 jboss-4.0.4.GA 等应用服务器需要配置特定的 JAR 文件,如 jboss-ejb3x.jar 和 jboss-annotations-ejb3.jar 来支持 EJB 3.0。 **7. 示例代码** 下面是一个简单的示例代码,展示了如何定义...
JBoss AS 4.0.4.GA是一款开源的应用服务器,它支持Java EE规范,能够提供强大的企业级服务。本篇文章将详细介绍如何下载与安装JBoss 4.0.4.GA版本,并配置必要的环境变量,以及进行基本的功能验证。 #### 二、下载 ...
- **步骤1**: 解压缩JBoss AS 4.0.4.GA-Patch1的安装包,并在DOS命令行窗口中进入安装目录,执行`java –jar jboss-4.0.4.GA-Patch1-installer.jar`来启动安装程序。 - **步骤2**至**步骤11**: 按照安装向导的提示...
在JBoss4.0.4GA这个应用服务器上,这些EJB3示例代码可以直接运行,体验到EJB3带来的便利和强大功能。通过学习和实践这些代码,开发者可以深入理解EJB3的核心概念,提升在企业级Java应用开发中的能力。
- 在DOS窗口中,进入JBoss AS 4的目录,运行`java –jar jboss-4.0.4.GA-Patch1-installer.jar`命令启动安装程序。 - 选择语言,接受许可协议。 - 指定JBoss服务器的安装目录。 - 选择J2EE支持类型,如`all`、`...
- 兼容的JBoss AS4.0.4 GA及以上版本,且包含JBoss EJB3.0 RC8。这通常需要通过特殊安装程序JEMS来获取。 - Java环境需要支持Java 5或更高版本。 #### 3. **项目配置** 项目结构是Seam应用开发的基础,主要包括...
本文将详细介绍如何利用MyEclipse(版本6.0.1GA)在Eclipse3.3环境下,配合Jboss4.0.4服务器,创建、配置并发布基于EJB3的J2EE工程项目。 #### 一、构建J2EE开发环境 首先,确保开发环境已经搭建好,包括安装了...