`
finally_m
  • 浏览: 69344 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hello EJB3

    博客分类:
  • EJB
阅读更多

开发具有远程接口的无状态会话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();
		}
	}
}

 

在第四步的代码中,我们通过硬编码的方式为EJBJNDI属性设值,这样的编码方式大大降低了代码的灵活性,所以我们还可以通过一个属性文件的方式为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

    **EJB3.0之HelloWorld** EJB(Enterprise JavaBeans)是Java平台企业版(Java EE)的一部分,主要用于构建可扩展、可移植和可信赖的企业级应用。EJB3.0是EJB规范的一个重要版本,它在之前的基础上进行了重大改进,...

    EJB3 maven helloworld项目

    **EJB3 Maven HelloWorld项目详解** 企业级JavaBean(Enterprise JavaBeans,简称EJB)是Java平台上用于构建可部署在服务器端的企业级应用的核心技术之一。EJB3是EJB规范的一个重要版本,它极大地简化了开发过程,...

    EJB HelloWorld

    3用eclipse打包想到或ant打成jar包 在jboss控制台可以看到部署成功 在jmx-console-》jboss-》service=JNDIView -》Operation-》list 可以看到Global JNDI Namespace HelloWorldBean (class: org.jnp.interfaces....

    实战角度比较EJB2和EJB3的架构异同

    【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...

    hello-ejb.rar_ejb_ejb java

    本教程通过一个简单的EJB实例——"hello-ejb",来帮助大家了解EJB的基本概念、结构以及部署流程。 首先,让我们来看看"Ejb"是什么。EJB全称为Enterprise JavaBeans,它是Java平台上的一个标准,定义了如何在分布式...

    ejb3.0 helloworld例子

    初学ejb,一个入门例子。 两个project,一个为ejb,一为客户端。 软件版本:jboss-4.2.3.GA,Jdk1.6.0,myeclipse 10.0 部署ejb后,客户端导入jboss的client下的所有jar包。

    EJB2.0一个完整的Helloworld

    **企业级JavaBeans(EJB)2.0详解——基于Helloworld示例** EJB(Enterprise JavaBeans)是Java EE(Java Platform, Enterprise Edition)平台的核心组成部分,它为开发分布式、事务处理、安全和可扩展的企业级应用...

    ejb_helloworld

    在本示例中,我们探讨的是一个简单的EJB2.0 HelloWorld程序,主要涉及EJB的三个核心部分:Bean类、组件接口和Home接口,以及配置文件ejb-jar.xml。 1. **Bean类**: Bean类是EJB的核心,它实现了业务逻辑。在这个...

    1.EJB的HelloWorld!

    "1.EJB的HelloWorld!" 是一个入门级别的教程,旨在帮助初学者理解EJB的基本概念和使用方式。在这个例子中,我们将探讨如何创建并运行一个简单的EJB HelloWorld应用。 EJB的核心概念包括会话bean、实体bean和消息...

    EJB2和EJB3的架构异同.doc

    <persistence-unit name="Ejb3Tutorial"> <jta-data-source>java:/TestDS ``` EJB3.0还引入了拦截器(Interceptors)的概念,类似于面向切面编程(AOP)中的拦截器。开发者可以定义拦截器方法,这些方法...

    eclipse + JBoss 5 + EJB3开发指南

    #### (8):JBoss EJB3(HelloWorld)备忘记 这部分提供了一个简单的HelloWorld示例,用于演示如何从头开始构建EJB项目。 总结起来,这篇教程涵盖了从配置开发环境到编写和测试Session Bean的所有基本步骤。它不仅...

    ejb3 第8讲 --通过注解方式注入并使用其他EJB或者服务

    至于“ejb3HelloWorld”这个压缩包文件,通常它可能包含了一个简单的EJB 3示例项目,用于展示如何创建和部署一个基本的EJB,以及如何通过注解注入其他bean。在这个项目中,你可能会看到如下的结构: - `ejbModule`...

    EJB client调用EJB3 .doc

    EJB3是EJB规范的一个重要版本,引入了许多简化开发的特性,包括注解驱动的编程模型,使得EJB更加易用。本文将详细探讨EJB3客户端调用EJB的两种情况。 1. **在JBoss集成环境下调用EJB** 当EJB3应用部署在JBoss...

    完整EJB3.0第一个HelloWord,

    在EJB3.0的第一个"Hello, World"项目中,我们将学习如何创建和配置一个简单的EJB组件。首先,我们需要了解EJB的基本概念。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean...

    EJB集群EJB集群资料

    在这个例子中,JBOSS 4.0.5 GA被安装在两个不同的IP地址(192.168.1.88和192.168.1.99)上,并且在安装时选择了ejb3-clustered配置。在高级设置中,名称设置为all,以启用集群功能。启动JBOSS服务器时,需要指定 `-c...

    MyEclipse+EJB3+JBoss4部署EBJ+web项目HelloWorld详解

    ### MyEclipse+EJB3+JBoss4部署EJB+Web项目HelloWorld详解 #### 一、环境搭建 ##### 1. 安装 JDK 1.6 在开始之前,请确保您的开发环境中已经安装了 Java 开发工具包 (JDK) 1.6 版本。如果尚未安装,请访问 Oracle ...

    EJB教程,EJB参考书

    3. **创建部署描述符**:`ejb-jar.xml`文件包含了EJB组件的元数据,如名称、事务属性和依赖关系。 4. **编译和部署**:编译源代码并打包成`ejb-jar`文件,然后使用EJB容器的工具进行部署。 5. **编写客户端程序**:...

    ejb3 第5讲--通过ANT提高EJB应用的开发效率

    在提供的`ejb3HelloWorld`示例中,我们可能看到一个简单的EJB 3.0应用,包含一个状态less session bean(如`HelloBean`)和对应的接口(如`Hello`)。这个例子通常会演示如何声明bean,如何注入依赖(如`@...

Global site tag (gtag.js) - Google Analytics