很久没有看EJB3了,今天有空弄了个HelloWorld来耍耍,熟悉熟悉,加深些印象。
首先弄好环境,Eclipse JBOSS配置好环境变量。
接着就是code啦:
接口:HelloWorld.java
package org.eimhe.ejb3; public interface HelloWorld { public String SayHello(String name); }
实现接口:HelloWorldBean.java
package org.eimhe.ejb3; import javax.ejb.Remote; import javax.ejb.Stateless; @Stateless @Remote({HelloWorld.class}) public class HelloWorldBean implements HelloWorld{ public String SayHello(String name) { return name +"说:你好!世界,这是我的第一个EJB"; } }
创建个build.xml,使用ant来打包发布
<?xml version="1.0"?> <project name="HelloWorld" default="ejbjar" basedir="."> <property environment="env"/> <property name="src.dir" value="${basedir}/src"/> <property name="jboss.home" value="${env.JBOSS_HOME}"/> <property name="build.dir" value="${basedir}/build"/> <property name="build.classes.dir" value="${build.dir}/classes"/> <!-- Build classpath --> <path id="build.classpath"> <fileset dir="${jboss.home}/client"> <include name="*.jar"/> </fileset> <pathelement location="${build.classes.dir}"/> </path> <target name="prepare" depends="clean"> <mkdir dir="${build.dir}"/> <mkdir dir="${build.classes.dir}"/> </target> <target name="compile" depends="prepare" description="编译"> <javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="**"> <classpath refid="build.classpath"/> </javac> </target> <target name="ejbjar" depends="compile" description="创建EJB发布包"> <jar jarfile="${basedir}/HelloWorld.jar"> <fileset dir="${build.classes.dir}"> <include name="org/**/*.class"/> </fileset> </jar> </target> <target name="deploy" depends="ejbjar" description="f发布EJB"> <copy file="${basedir}/HelloWorld.jar" todir="${jboss.home}\server\default\deploy\"/> </target> <target name="clean"> <delete dir="${jboss.home}\server\default\deploy\HelloWorld.jar"/> </target> </project>
部署成功:
23:32:16,542 INFO [JBossASKernel] Created KernelDeployment for: HelloWorld.jar 23:32:16,589 INFO [JBossASKernel] installing bean: jboss.j2ee:jar=HelloWorld.jar,name=HelloWorldBean,service=EJB3
哈哈,来个junit测试下:HelloWorldTest.java
package junit.test; import static org.junit.Assert.*; import java.util.Properties; import javax.naming.InitialContext; import org.eimhe.ejb3.HelloWorld; import org.junit.BeforeClass; import org.junit.Test; public class HelloWorldTest { protected static HelloWorld helloWorld; @BeforeClass public static void setUpBeforeClass() throws Exception { Properties props = new Properties(); props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); props.setProperty("java.naming.provider.url", "localhost:1099"); InitialContext ctx = new InitialContext(props); helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/remote"); } @Test public void testSayHello() { String result = helloWorld.SayHello("test"); System.out.println("result : "+result); assertEquals("test说:你好!世界,这是我的第一个EJB", result); } }
第一个程序完成。
您还没有登录,请您登录后再发表评论
第1篇对EJB编程基础进行介绍,它概要性地对EJB进行了阐述,无论是EJB初学者,还是资深EJB专家,这部分内容都值得阅读;第2篇重点关注EJB编程的具体内容和过程,其中,研究了如何开发如下三种EJB组件:会话Bean、实体Bean和...
定时器服务是EJB 3中一个重要的新特性,允许开发者在容器中定义定时任务,无需手动管理线程或者使用第三方库。 2. **EJB定时器服务基础** EJB定时器服务提供了一种在容器级别创建和管理定时任务的方法。它通过`@...
在本篇讲解中,我们将深入探讨Java企业版(Java EE)中的Enterprise JavaBeans(EJB)3技术,特别是如何通过注解方式来注入并使用其他的EJB或服务。EJB 3是Java EE中用于构建可扩展、分布式、事务处理和安全的企业级...
#### (1):编写第一个无状态的SessionBean ##### 一、配置开发环境 在开始编写无状态的SessionBean之前,首先需要确保开发环境已经正确配置。以下是所需的主要组件: 1. **Eclipse**:版本3.4.2,推荐使用针对...
本篇文章将指导你如何使用JBoss7.1和EJB3.1在Eclipse3.7环境中创建你的第一个EJB项目。EJB(Enterprise JavaBeans)是一种Java平台上的组件模型,用于构建可扩展的、可靠的、安全的企业级应用。JBoss是Red Hat公司...
本篇文章将深入讲解如何在 EJB3 中开发第一个无状态会话 Bean,以及相关的知识点。 1. **EJB 概述** EJB(Enterprise JavaBeans)是 Java 平台上的一个标准,用于构建可部署在服务器端的企业级应用。它提供了一种...
【JBOSS6.0.0M4发布EJB3测试】这个主题涉及到的是Java企业版(Java EE)中的核心组件——Enterprise JavaBeans (EJB)的第三版(EJB3),以及它在JBoss Application Server 6.0.0 Milestone 4 (JBOSS6.0.0M4)版本中的...
本书可作为《轻量级java ee企业应用实战》的姊妹篇,介绍了Java EE规范的三大主要规范JSF(JavaServer Faces)、EJB 3(Enterprise JavaBeans 3)和JPA(Java Persistence API),并以ejb 3+jpa为基础来构建Java EE...
EJB3是其第三个主要版本,引入了许多重大的改进,旨在简化开发流程,提高可移植性和可维护性。这篇博客文章将引导初学者入门EJB3,并深入理解其核心概念和技术。 EJB3引入了注解(Annotations),极大地减少了XML...
本教程聚焦于EJB 3,特别是第10讲,主要讲解如何开发单表映射的实体Bean。在本篇详细解答中,我们将深入探讨EJB 3中的实体Bean及其与数据库单表映射的关系。 首先,实体Bean是EJB的一种类型,代表业务逻辑中的持久...
【实战EJB之- 开发和部署你的第一个Enterprise JavaBean】是关于Java企业级应用开发的一篇文章,由Jackliu撰写,旨在通过实例教程帮助读者理解EJB(Enterprise JavaBeans)的基本概念。EJB是一种在Java平台上用于...
- **激活(Activation)**:对于有状态会话Bean,当客户端第一次请求时激活。 - **使用(Usage)**:执行业务逻辑方法。 - **钝化(Passivation)**:当资源紧张时,有状态会话Bean可能会被钝化到磁盘。 - **...
这通常发生在客户端第一次请求该Bean或者在Bean池中需要一个新的实例时。在这个方法中,开发者可以设置Bean的状态,初始化资源,执行任何必要的配置等。 3. ejbPostCreate: 在ejbCreate之后,还有一个...
1. 第一章:基础篇,介绍EJB的基本概念和SHH2框架的核心原理,为后续学习打下坚实基础。 2. 第二章:EJB详解,深入讲解EJB的组件模型、生命周期及不同类型的Bean。 3. 第三章:Struts与EJB的整合,阐述如何在Struts...
3. **数据访问层**:EJB可能会包含Entity Bean来与数据库进行交互,处理数据的持久化操作。 4. **持久化框架**:可能使用JPA(Java Persistence API)或Hibernate这样的ORM(Object-Relational Mapping)工具,将...
第1篇为入门篇,内容包括Java Web开发 概述等;第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过 滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的 使用、如何自定义标签、资源国际化...
第1篇为入门篇,内容包括Java Web开发概述等; 第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等; 第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际...
相关推荐
第1篇对EJB编程基础进行介绍,它概要性地对EJB进行了阐述,无论是EJB初学者,还是资深EJB专家,这部分内容都值得阅读;第2篇重点关注EJB编程的具体内容和过程,其中,研究了如何开发如下三种EJB组件:会话Bean、实体Bean和...
定时器服务是EJB 3中一个重要的新特性,允许开发者在容器中定义定时任务,无需手动管理线程或者使用第三方库。 2. **EJB定时器服务基础** EJB定时器服务提供了一种在容器级别创建和管理定时任务的方法。它通过`@...
在本篇讲解中,我们将深入探讨Java企业版(Java EE)中的Enterprise JavaBeans(EJB)3技术,特别是如何通过注解方式来注入并使用其他的EJB或服务。EJB 3是Java EE中用于构建可扩展、分布式、事务处理和安全的企业级...
#### (1):编写第一个无状态的SessionBean ##### 一、配置开发环境 在开始编写无状态的SessionBean之前,首先需要确保开发环境已经正确配置。以下是所需的主要组件: 1. **Eclipse**:版本3.4.2,推荐使用针对...
本篇文章将指导你如何使用JBoss7.1和EJB3.1在Eclipse3.7环境中创建你的第一个EJB项目。EJB(Enterprise JavaBeans)是一种Java平台上的组件模型,用于构建可扩展的、可靠的、安全的企业级应用。JBoss是Red Hat公司...
本篇文章将深入讲解如何在 EJB3 中开发第一个无状态会话 Bean,以及相关的知识点。 1. **EJB 概述** EJB(Enterprise JavaBeans)是 Java 平台上的一个标准,用于构建可部署在服务器端的企业级应用。它提供了一种...
【JBOSS6.0.0M4发布EJB3测试】这个主题涉及到的是Java企业版(Java EE)中的核心组件——Enterprise JavaBeans (EJB)的第三版(EJB3),以及它在JBoss Application Server 6.0.0 Milestone 4 (JBOSS6.0.0M4)版本中的...
本书可作为《轻量级java ee企业应用实战》的姊妹篇,介绍了Java EE规范的三大主要规范JSF(JavaServer Faces)、EJB 3(Enterprise JavaBeans 3)和JPA(Java Persistence API),并以ejb 3+jpa为基础来构建Java EE...
EJB3是其第三个主要版本,引入了许多重大的改进,旨在简化开发流程,提高可移植性和可维护性。这篇博客文章将引导初学者入门EJB3,并深入理解其核心概念和技术。 EJB3引入了注解(Annotations),极大地减少了XML...
本教程聚焦于EJB 3,特别是第10讲,主要讲解如何开发单表映射的实体Bean。在本篇详细解答中,我们将深入探讨EJB 3中的实体Bean及其与数据库单表映射的关系。 首先,实体Bean是EJB的一种类型,代表业务逻辑中的持久...
【实战EJB之- 开发和部署你的第一个Enterprise JavaBean】是关于Java企业级应用开发的一篇文章,由Jackliu撰写,旨在通过实例教程帮助读者理解EJB(Enterprise JavaBeans)的基本概念。EJB是一种在Java平台上用于...
- **激活(Activation)**:对于有状态会话Bean,当客户端第一次请求时激活。 - **使用(Usage)**:执行业务逻辑方法。 - **钝化(Passivation)**:当资源紧张时,有状态会话Bean可能会被钝化到磁盘。 - **...
这通常发生在客户端第一次请求该Bean或者在Bean池中需要一个新的实例时。在这个方法中,开发者可以设置Bean的状态,初始化资源,执行任何必要的配置等。 3. ejbPostCreate: 在ejbCreate之后,还有一个...
1. 第一章:基础篇,介绍EJB的基本概念和SHH2框架的核心原理,为后续学习打下坚实基础。 2. 第二章:EJB详解,深入讲解EJB的组件模型、生命周期及不同类型的Bean。 3. 第三章:Struts与EJB的整合,阐述如何在Struts...
3. **数据访问层**:EJB可能会包含Entity Bean来与数据库进行交互,处理数据的持久化操作。 4. **持久化框架**:可能使用JPA(Java Persistence API)或Hibernate这样的ORM(Object-Relational Mapping)工具,将...
第1篇为入门篇,内容包括Java Web开发 概述等;第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过 滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的 使用、如何自定义标签、资源国际化...
第1篇为入门篇,内容包括Java Web开发概述等; 第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等; 第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际...
第1篇为入门篇,内容包括Java Web开发 概述等;第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过 滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的 使用、如何自定义标签、资源国际化...
第1篇为入门篇,内容包括Java Web开发 概述等;第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过 滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的 使用、如何自定义标签、资源国际化...