EJB3.0(二)图示EJB的"helloworld"

前序

既然是菜菜的ejb,那么第二篇就是讲解如何来编写ejb的helloword了。helloworld是再熟悉也不过了,通过这样一个实例来熟悉和简单了解ejb程序从编写到部署和调用的简单过程。

开发环境

Jboss 5.0 GA版:http://jbossas.jboss.org/downloads.html

Myeclipse 10.0:http://www.myeclipseide.cn/

Jdk 1.6 :http://www.oracle.com/technetwork/java/javase/downloads/index.html

步骤

配置jboss环境

当然如果用的是MyEclipse的话可以直接跳过这步即可;如果是纯净不带插件的eclipse,则需要配置相应的jboss-tools来配置jboss环境了。

Jboss tools:http://tools.jboss.org/downloads/jbosstools/luna/4.2.0.Final.html#zips

在jboss tools官网了提供了4种有关这个插件安装的方式(米国人民真是没的说啊).我用的是install new
software ,将下面的链接键入即可。

http://download.jboss.org/jbosstools/updates/stable/luna/

最后在如下界面看到相应的sever即可。

配置jre

直接在jboss 下面的jdk,配置到jdk的根目录即可。

新建ejb project

配置完毕jre及jboss,新建ejb project

1.新建ejb project

目录结构说明:如上图中生成的目录结构中,ejbModule目录是编写JAVA源码的目录(即EJB代码);

build:则为编译后生成的文件;

JRE System Library、Java EE x Libraries:相应的运行环境。

EJBbean

对于bean,简单来理解就是一个带有业务逻辑处理的java类。而ejbbean就可以这样来理解,针对企业级开发的java类。首先来从大面上将这些概念给解决掉,后面在具体根据细节来探讨。

这里主要编写的是EJBbean,书写业务颗粒。

接口

code

package com.cfl.ejb;

public interface FirstEJB {
	public String sayHello(String str);
}

注:就是一个简单的接口,定义了一个用来输出字符串的方法。

实现

代码

package com.cfl.ejb;

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

@Stateless
@Remote
public class FirstEJBBean implements FirstEJB {

	public String sayHello(String str) {
		// TODO Auto-generated method stub
		return str;
	}
}

注:一个再简单不过的实现

注解

定义ejb的种类和访问方式。

部署到jboss服务器

将相应的项目发布到jboss项目下即可

注意:ejb命名特殊符号,因为jboss对于ejb的命名很敏感。

客户端

查找ejb

代码

package com.cfl.ejbclient;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.cfl.ejb.FirstEJB;

public class ejbclient {
	public static  void main(String[] args){

		try {
			InitialContext context =new InitialContext();
			FirstEJB firstEjb=(FirstEJB)context.lookup("FirstEJBBean/remote");
			String s=firstEjb.sayHello("helloworld");
			System.out.print(s);
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 

	}
}

其实context类似在之前抽象工厂,其实也就是抽象工厂模式的体现。来利用反射得到相应的类的实例。

Jndi.properties

这里先不对sun的四种jndi进行分析,先知道这个是用来去查找相应的bean即可。

定义相应的jndi,生成jndi.properties,放在客户端的src的根目录下面。

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

Jar放到jre环境中

打包jar

将生成的jar文件放到客户端的jre libraries里面

引入jboss clientjar包

添加user libraries

导入jars

后序

相当于一个简单的流程式的讲解,简单的通过的流程来感受一下ejb的使用。当然这里肯定是无法体味到ejb作为j2ee的核心这样一个用处的,后面继续。

时间: 2024-10-19 02:19:28

EJB3.0(二)图示EJB的"helloworld"的相关文章

EJB3.0 EJB开发消息驱动bean

(7)EJB3.0 EJB开发消息驱动bean JMS 一: Java消息服务(Java Message Service) 二:jms中的消息 消息传递系统的中心就是消息.一条 Message 由三个部分组成:             头(header),属性(property)和主体(body). 消息有下面几种类型,他们都是派生自 Message 接口.           StreamMessage:一种主体中包含 Java 基元值流的消息.其填充和读取均按顺序进行.          

EJB3.0快速入门

1.首先介绍运行环境及相关的配置: EJB的运行环境: JAVAEE应用服务器包含Web容器和EJB容器,EJB3.0应用需要运行在EJB容器里. Tomcat目前只是Web容器,它不能运行EJB应用. Jboss作为最常用EJB容器,其自身所带Web服务器部分就是直接使用Tomcat(Jboss的默认端口也为:8080). 相关配置: 1.配置classpath:%JDK安装目录%/lib/dt.jar和tools.jar 2.JDK版本需要1.5以上. 3.为Jboss设置Jboss_HOM

EJB3.0中的session bean以及MDB解析

大型业务系统面临的主要问题就是高并发性和事务访问,客户端的数量与服务器端的分布式对象数量存在一定程度的正比关系,客户端数量越多,服务器端分布式对象也就越多,如何解决这种高并发的问题也就成了企业级架构首先要解决的问题.EJB作为一种服务器端分布式组件,为我们提供了应对策略. EJB提供了两种管理大量分布式对象的策略:实例池化和激活.下面分别对EJB组件模型中的三种模型进行一些分析. 第一种:无状态的会话Bean(Stateless session bean) Stateless session b

POJO应用框架:Spring与EJB3.0的比较

英文原文地址:http://www.onjava.com/pub/a/onjava/2005/06/29/spring-ejb3.html中文地址:http://www.matrix.org.cn/resource/article/43/43718_Spring_EJB.html关键词: Spring EJB 艾伯特.爱因斯坦曾经说过:"一切都应该尽可能地简单,但是不能更简单."确实如此,简化一门理论的基本假设,使我们可以专注于真正关键的地方,这正是一直以来对科学真理的追求.企业软件开

EJB3.0

由于EJB2.0的复杂性,在Spring和Hibernate[1]  等轻量级框架出现后,大量的用户转向应用轻量级框架.在大家的呼声中, EJB 期待已久的EJB3.0规范终于发布了.在本文中将对新的规范进行一个概要性的介绍,包括新增的元数据支持,EJBQL的修改,实体Bean模型访问bean上下文的新方法和运行时环境等等.作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系. 开始 无论如何由于EJB的复杂性使之在J2EE架构中的表现一直不是很好.EJB大概是J2EE架

EJB3.0(四)JPA 分布式事务处理

JPA:全称java persistence API jpa作为j2ee的基础规范之一,也是目前作为比较流行ORM框架之一.不仅仅作为一种通用的标准ORM解决方案,也是企业级开发分布式事务的一种选择. JTA:全称java transaction API .可以在多个组件或者应用之间进行事务处理,相比JDBC来讲支持更多的数据源. Ejb3.0 对于分布式事务也有支持,常常和EntityManager一起使用.下面是针对多个数据源的事务管理的代码实现以及在调试过程中的一些调式日志. 环境 jbo

itoo中为什么要用EJB3.0分布式框架

一说到EJB,总是有一种感觉就是EJB已经过时了,或者是在项目中,EJB太笨重了,使用过程中很多的功能都没有体现出来,而且EJB还会影响性能,但是在ITOO中为什么还要用EJB分布式框架呢? ITOO的技术框架结构图如下所示: 从这个图中可以看出,业务逻辑层使用EJB容器进行管理的,我刚开始接触到时候,我也很好奇为什么要用EJB分布式,而没有用webservice或者是现在比较火的阿里巴巴的dubbo+zookeeper呢.现在我就来解释以下为什么要选用企业级的ejb3.0. 第一:EJB3.0

EJB3.0与Spring

总的来看Spring+Hibernate与JPA很相似,它们都是基于pojo的持久化. Hibernate Session和JPA Entity Manager基本上等价,但是要记住他们的两个重要区别. Hibernate session是一个实体缓存也是一个ORM引擎的接口. 而JPA中这两个概念是分开的.Persistence context作为缓存而entity manager则作为ORM引擎的接口. 当然还有显而易见的区别,Spring+Hibernate偏向使用XML配置映射,而JPA

EJB3.0高速入门项目开发步骤

EJB3.0开发步骤 1.   开发环境 IDE开发工具:Eclipse Java EE IDE for Web Developers EJB容器:jboss-4.2.3.GA 后台数据库:MysQL5.1 2.   开发步骤 2.1   在Eclipse中配置jboss-4.2.3.GA 1.  点击小三角,选中New server 2.  选中JBOSS AS4.2 3.  点击ADD.进行JBOSS配置 4.  在Home Directory中.点击Browser选择JBOSS4.2的安装