下面我们一起来学习Ejb的简单应用:
首先我们来开发第一个HelloWorld Ejb
(照着做)
第一步:新建一个JavaProject程序倒入jboss-4.2.3.GA\client目录下的所有*.jar文件
第二步:编写一个接口:IHelloWord.java
public interface IHelloWord {
public String sayHello(String name);
}
第三步:编写一个实现这个接口的HelloWorld.java
@Stateless//表示一个无状态的bean
@Remote(IHelloWord.class)//指定接口为远程接口
public class HelloWorld implements IHelloWord{
public String sayHello(String name){
return "is my name"+name;
}
}
第四步:利用Myeclipse工具进行打包成jar文件:
File-〉Export-〉Java-〉Jar file -〉选择项目-〉src-〉(IHelloWord +HelloWorld )包进行打包 去掉.clsspath和.project->路径-〉完成
第五步:把这个打包的jar\jboss-4.2.3.GA\server\default\deploy(首先要启动jboss)
第六步:编写一个客户端来调用
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
/*第一种:通过编码
* Properties props = new Properties();
//jboss的jndi连接工厂 不同服务器的连接工厂和连接路径不同 ,可以通过一个属性文件编写
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
//jboss连接路径
props.setProperty("java.naming.provider.url", "localhost:1099");
第二种:编写一个jndi.properties的属性文件
*/
try {
//InitialContext ctx = new InitialContext(props);//使用属性文件时候会在类路径下自动加载jndi.properties属性文件
InitialContext ctx = new InitialContext();//使用属性文件时候会在类路径下自动加载jndi.properties属性文件
//说明下面返回的是一个实现了IHelloWord接口的代理对象
//通过这个代理对象来调用HelloWorld
/*
JNDI名称规则:
当EJB发布到Jboss 时,如果我们没有为它指定全局JNDI名称或修改过其默认EJB名称,Jboss就会按照默认的命名规则为EJB生成全局JNDI名称,默认的命名规则如下:
如果把EJB作为模块打包进后缀为*.ear的JAVA EE企业应用文件,默认的全局JNDI名称是
本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
EAR-FILE-BASE-NAME为ear文件的名称,EJB-CLASS-NAME为EJB的非限定类名。
例:把HelloWorld应用作为EJB模块打包进名为HelloWorld.ear的企业应用文件,它的远程接口的JNDI 名称是:HelloWorld/HelloWorldBean/remote
如果把EJB应用打包成后缀为*.jar的模块文件,默认的全局JNDI名称是
本地接口:EJB-CLASS-NAME/local
远程接口:EJB-CLASS-NAME/remote
例:把HelloWorld应用打包成HelloWorld.jar文件,它的远程接口的JNDI名称是:HelloWorldBean/remote
*
*/
IHelloWord helloworld = (IHelloWord) ctx.lookup("HelloWorld/remote");
System.out.println(helloworld.sayHello(" liyong"));
} catch (NamingException e) {
System.out.println(e.getMessage());
}
}
}
{
属性文件:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost\:1099
}
执行.....
分享到:
相关推荐
在EJB3.0的第一个"Hello, World"项目中,我们将学习如何创建和配置一个简单的EJB组件。首先,我们需要了解EJB的基本概念。EJB分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean...
本篇文章将指导你如何使用JBoss7.1和EJB3.1在Eclipse3.7环境中创建你的第一个EJB项目。EJB(Enterprise JavaBeans)是一种Java平台上的组件模型,用于构建可扩展的、可靠的、安全的企业级应用。JBoss是Red Hat公司...
1. **第一个EntityBean: HelloWorld** - **示例代码**: ```java @Entity public class HelloWorld { @Id private Long id; private String message; // 构造函数、getters和setters } ``` 2. **定义对...
从作者几个EJB3.0 项目的开发情况来看,除了第一个项目开发周期相对 有些长之外(因为开发人员之前尚未掌握EJB3.0,相当于边学边用),后面的项目从开发周期到以后的维护时间都 明显优于JDBC+java bean 或sprint...
四、第一个EJB工程 【File】——>【New】——>【Other】 (找到EJB,并且选择EJB Project)——>【Next】 输入: Project name:TestEJB Target runtime:选择JBoss7.1 EJB module version:选择3.1 ——>【Next】...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ...
5. **springhelloworld.pdf**:典型的"Hello World"教程,通常用于介绍如何建立一个简单的Spring应用,是初学者了解Spring的第一步。 6. **Spring2.pdf**:这可能是Spring 2.x版本的官方文档或者一个深入教程,因为...
1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...
- 创建一个简单的Spring项目,比如HelloWorld项目,并编写相应的配置文件`applicationContext.xml`。 #### 四、Spring中的Bean配置 1. **IOC & DI概述**:IOC(控制反转)是一种设计模式,DI(依赖注入)是其实现...
Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...
通过一系列示例,我们将深入学习如何创建JSF项目,设置环境,编写第一个Hello World程序,以及如何处理表单提交、验证用户输入、使用数据库等实际场景。 总的来说,"JSF入门全系列"涵盖了JSF框架的各个方面,旨在...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
System.out.println("这是第一个Java程序!"); } } ``` 1. **公共类:** `public class HelloWorld` 定义了一个名为`HelloWorld`的公共类。 2. **主方法:** `public static void main(String[] args)` 是Java程序...
1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...
1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字...
1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...