开发具有远程接口的无状态会话Bean
l 第一步:创建业务接口类和业务接口实现类HelloWorld.java
package com.hello.ejb3;
import javax.ejb.Remote;
@Remote
public interface HelloWorld {
public String hello(String name);
}
//@Remote:通过注解说明HelloWorld是一个远程接口
HelloWorldImpl.java
package com.hello.ejb3.impl;
import javax.ejb.Stateless;
import com.hello.ejb3.HelloWorld;
@Stateless
public class HelloWorldImpl implements HelloWorld {
@Override
public String hello(String name) {
return "hello," + name;
}
}
//@Stateless:表示HelloWorldImpl是无状态会话Bean
l 第二步:将完成的代码打成JAR包,并把JAR复制到jboss-5.0.1.GA 安装目录的“…\server\default\deploy”目录下。
l 第三步:启动JBOSS。
l 第四步:编写客户端程序访问EJB
package com.hello.test;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.hello.ejb3.HelloWorld;
public class EJBClient {
public static void main(String[] args) {
//设置EJB JNDI属性
Properties config = new Properties();
config.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
config.setProperty("java.naming.provider.url", "localhost:1099");
try{
//初始化JNDI配置上下文
InitialContext ctx = new InitialContext(config);
//调用远程接口
HelloWorld helloworld = (HelloWorld)ctx.lookup("HelloWorldImpl/remote");
System.out.println(helloworld.hello("vince"));
}catch(NamingException ex){
ex.printStackTrace();
}
}
}
在第四步的代码中,我们通过硬编码的方式为EJB的JNDI属性设值,这样的编码方式大大降低了代码的灵活性,所以我们还可以通过一个属性文件的方式为JNDI属性设值:
java.naming.factory.initial= org.jnp.interfaces.NamingContextFactory
java.naming.provider.url= localhost:1099
EJB初始化JNDI配置上下文时,会自动的寻找根目录下的jndi.properties文件。
这样我们的客户端代码就可以简化为:
package com.hello.test;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.hello.ejb3.HelloWorld;
public class EJBClient {
public static void main(String[] args) {
try{
//初始化JNDI配置上下文
InitialContext ctx = new InitialContext();
//调用远程接口
HelloWorld helloworld = (HelloWorld)ctx.lookup("HelloWorldImpl/remote");
System.out.println(helloworld.hello("vince"));
}catch(NamingException ex){
ex.printStackTrace();
}
}
}
OK!恭喜你!现在我们可以测试一下!
分享到:
相关推荐
**EJB3.0之HelloWorld** EJB(Enterprise JavaBeans)是Java平台企业版(Java EE)的一部分,主要用于构建可扩展、可移植和可信赖的企业级应用。EJB3.0是EJB规范的一个重要版本,它在之前的基础上进行了重大改进,...
**EJB3 Maven HelloWorld项目详解** 企业级JavaBean(Enterprise JavaBeans,简称EJB)是Java平台上用于构建可部署在服务器端的企业级应用的核心技术之一。EJB3是EJB规范的一个重要版本,它极大地简化了开发过程,...
3用eclipse打包想到或ant打成jar包 在jboss控制台可以看到部署成功 在jmx-console-》jboss-》service=JNDIView -》Operation-》list 可以看到Global JNDI Namespace HelloWorldBean (class: org.jnp.interfaces....
【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...
本教程通过一个简单的EJB实例——"hello-ejb",来帮助大家了解EJB的基本概念、结构以及部署流程。 首先,让我们来看看"Ejb"是什么。EJB全称为Enterprise JavaBeans,它是Java平台上的一个标准,定义了如何在分布式...
初学ejb,一个入门例子。 两个project,一个为ejb,一为客户端。 软件版本:jboss-4.2.3.GA,Jdk1.6.0,myeclipse 10.0 部署ejb后,客户端导入jboss的client下的所有jar包。
**企业级JavaBeans(EJB)2.0详解——基于Helloworld示例** EJB(Enterprise JavaBeans)是Java EE(Java Platform, Enterprise Edition)平台的核心组成部分,它为开发分布式、事务处理、安全和可扩展的企业级应用...
在本示例中,我们探讨的是一个简单的EJB2.0 HelloWorld程序,主要涉及EJB的三个核心部分:Bean类、组件接口和Home接口,以及配置文件ejb-jar.xml。 1. **Bean类**: Bean类是EJB的核心,它实现了业务逻辑。在这个...
"1.EJB的HelloWorld!" 是一个入门级别的教程,旨在帮助初学者理解EJB的基本概念和使用方式。在这个例子中,我们将探讨如何创建并运行一个简单的EJB HelloWorld应用。 EJB的核心概念包括会话bean、实体bean和消息...
<persistence-unit name="Ejb3Tutorial"> <jta-data-source>java:/TestDS ``` EJB3.0还引入了拦截器(Interceptors)的概念,类似于面向切面编程(AOP)中的拦截器。开发者可以定义拦截器方法,这些方法...
#### (8):JBoss EJB3(HelloWorld)备忘记 这部分提供了一个简单的HelloWorld示例,用于演示如何从头开始构建EJB项目。 总结起来,这篇教程涵盖了从配置开发环境到编写和测试Session Bean的所有基本步骤。它不仅...
至于“ejb3HelloWorld”这个压缩包文件,通常它可能包含了一个简单的EJB 3示例项目,用于展示如何创建和部署一个基本的EJB,以及如何通过注解注入其他bean。在这个项目中,你可能会看到如下的结构: - `ejbModule`...
EJB3是EJB规范的一个重要版本,引入了许多简化开发的特性,包括注解驱动的编程模型,使得EJB更加易用。本文将详细探讨EJB3客户端调用EJB的两种情况。 1. **在JBoss集成环境下调用EJB** 当EJB3应用部署在JBoss...
在EJB3.0的第一个"Hello, World"项目中,我们将学习如何创建和配置一个简单的EJB组件。首先,我们需要了解EJB的基本概念。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean...
在这个例子中,JBOSS 4.0.5 GA被安装在两个不同的IP地址(192.168.1.88和192.168.1.99)上,并且在安装时选择了ejb3-clustered配置。在高级设置中,名称设置为all,以启用集群功能。启动JBOSS服务器时,需要指定 `-c...
### MyEclipse+EJB3+JBoss4部署EJB+Web项目HelloWorld详解 #### 一、环境搭建 ##### 1. 安装 JDK 1.6 在开始之前,请确保您的开发环境中已经安装了 Java 开发工具包 (JDK) 1.6 版本。如果尚未安装,请访问 Oracle ...
3. **创建部署描述符**:`ejb-jar.xml`文件包含了EJB组件的元数据,如名称、事务属性和依赖关系。 4. **编译和部署**:编译源代码并打包成`ejb-jar`文件,然后使用EJB容器的工具进行部署。 5. **编写客户端程序**:...
在提供的`ejb3HelloWorld`示例中,我们可能看到一个简单的EJB 3.0应用,包含一个状态less session bean(如`HelloBean`)和对应的接口(如`Hello`)。这个例子通常会演示如何声明bean,如何注入依赖(如`@...