`
xiaoshan5634
  • 浏览: 74123 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
社区版块
存档分类
最新评论

HelloWorld--ejb3

    博客分类:
  • ejb
阅读更多

若要使用ejb,必须要有ejb的容器,现在的容器有jboss,weblogic等,现使用jboss编写第一个ejb程序。

http://downloads.sourceforge.net/sourceforge/jboss/地址去下载jboss,ejb3必须下jboss4以上的版本,ejb2下载jboss3就可以了。需在工程中引入jbossall-client.jar。

首先创建一个ejb项目,注意需选择ejb3.

创建一个接口

public interface HelloWorld {   
	public String SayHello(String name);   
}  

 

然后新建一个无关态会话Bean,一般的命名规则是:接口名+Bean。实现上面的接口要加入两个注释@Remote和@Stateless。
@Stateless表示无状态会话Bean,@Remote表示这个无状态会话Bean的remote接口。。无状态会话Bean 是一个简单的POJO(纯粹的面向对象思想的java 对象),EJB3.0 容器自动地实例化及管理这个Bean。HelloWorldBean.java代码如下:

import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless   
@Remote ({HelloWorld.class}) 
public class HelloWorldBean implements HelloWorld {
	public String SayHello(String name) {   
		return name +"说:Hello World.";   
	}   

}
 这样,就把EJB模块开发完成!可以发布到Jboss中去,(注意:Jboss的版本要在4.0.5以上,以前的版本可能出现报错现象)。启动jboss容器,打印出如下信息
17:33:58,062 INFO  [DLQ] Bound to JNDI name: queue/DLQ
17:33:58,203 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
17:33:58,609 INFO  [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
17:33:58,625 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=TestEJB3.jar,name=HelloWorldBean,service=EJB3 with dependencies:
17:33:58,906 INFO  [EJBContainer] STARTED EJB: com.sample.HelloWorldBean ejbName: HelloWorldBean
17:33:58,968 INFO  [EJB3Deployer] Deployed: file:/E:/developTools/jboss-4.2.0.GA/server/default/deploy/TestEJB3.jar/
17:33:59,015 INFO  [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
17:33:59,281 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
17:33:59,312 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
17:33:59,343 INFO  [Server] JBoss (MX MicroKernel) [4.2.0.GA (build: SVNTag=JBoss_4_2_0_GA date=200705111440)] Started in 17s:15ms
 说明发布成功,然后可以到http://localhost:8080>>JMX Console >>service=JNDIView >>invoke>>Global JNDI Namespace找到发布的响应服务,若没有找到jndi,则发布服务失败。成功后即可以打开客户端去访问。 
第二步:开了一个客户端来访问这个EJB。当一个无状态会话Bean 发布到EJB 容器时,容器就会为她创建一个对象stub,并把她注册进容器的JNDI 目录,客户端代码使用她的JNDI 名从容器获得他的stub。通过这个stub,客户端可以调用她的业务方法。例子代码如下:
import java.util.Properties;

import javax.naming.InitialContext;

public class HelloWorleClient {

	public static void main(String[] args) {
		Properties props = new Properties();
		props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
		props.setProperty("java.naming.provider.url", "localhost:1099");
		props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
		//props.setProperty("", "");   
		System.getProperties();
		try {
			InitialContext ctx = new InitialContext(props);

			HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
			System.out.println(helloworld.SayHello("大家"));
		} catch (Exception ex) {
			System.out.println(ex.getMessage());
		}
	}

}
 在JBoss容器中发布TestEJB3,然后执行HelloWorldClient.java将得到“大家说:Hello World.”结果。
分享到:
评论
1 楼 水草平居 2011-09-01  
水货,只知道抄袭,别出来丢人了

相关推荐

    EJB3.0之HelloWorld

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

    EJB HelloWorld

    HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote"); out.println(helloworld.SayHello("佛山人")); 5.用ant或eclipse,把客户端文件打成war包,发布到jboss上 6.输入...

    EJB3 maven helloworld项目

    在EJB3 Maven HelloWorld项目中,ejb-jar.xml文件可能非常简单,主要用来声明Bean的存在及其接口。 5. **JBoss5部署**:在部署到JBoss5之前,你需要确保已经正确安装了JBoss服务器,并且配置了Maven的JBoss插件。...

    ejb_helloworld

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

    EJB2.0一个完整的Helloworld

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

    1.EJB的HelloWorld!

    在实际应用中,我们还需要在服务器上部署EJB模块,通常包含一个ejb-jar.xml配置文件,但在这个简单的例子中,可能只需通过IDE的自动部署功能即可。部署后,可以通过服务器的管理界面或编程方式调用bean方法。 标签...

    ejb3.0 helloworld例子

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

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

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

    JavaEE5学习笔记05-EJB之会话Bean总结

    为了更好地理解会话Bean的使用,我们可以通过一个简单的Hello World示例来进行演示: 1. **定义会话Bean接口**:首先定义一个远程接口(Remote Interface),该接口声明了客户端将调用的方法。 2. **实现会话Bean类...

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

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

    HelloWorld1_初识javaee_

    通过"HelloWorld1"的学习,开发者可以了解JavaEE的基本开发环境和流程,为进一步学习JavaEE的其他高级特性,如JPA(Java Persistence API)、JSF(JavaServer Faces)、CDI(Contexts and Dependency Injection)...

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

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

    完整EJB3.0第一个HelloWord,

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

    spring2.5 -3.0 hibernate3.3 jar包说明

    支持远程调用功能,例如EJB、JMS、RMI、Hessian、Burlap、HttpInvoker、JAX-RPC等。 10. **spring-support.jar** 提供了一些额外的功能支持,如缓存管理、定时任务、邮件服务等。 11. **spring-web.jar** ...

    J2EE-Ejb-Jboss

    标题:J2EE-Ejb-Jboss 描述:j2ee_jboss_ejb(English)清晰 标签:Ejb 从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出以下关键知识点: ### 一、J2EE与EJB简介 J2EE(Java 2 Platform, Enterprise ...

    weblogic JNDI helloworld实例

    把文件用weblogic部署上去,然后反编译jar中的bind类 执行主方法weblogic就有打印出hello ejb的字样了,很好的一个ejb实例。

    Seam 例子 Hello World

    - **访问URL**:通过`http://localhost:8080/helloworld/`访问应用。 #### 九、总结 通过这个简单的Hello World示例,我们可以看到Seam框架如何简化了Java Web应用程序的开发过程。从实体定义到页面处理,再到事件...

    EJB client调用EJB3 .doc

    HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote"); ``` 这里,`ctx.lookup()`方法用于根据EJB的JNDI名称查找并实例化EJB。由于在同一个JVM内,无需显式设置`InitialContext`的环境属性...

    EJB教程,EJB参考书

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

Global site tag (gtag.js) - Google Analytics