本实例用到的工具

1. jboss5 (配置不做介绍,谷歌度娘都有)
2. MyEclipse 9

实例创建

1.EJB类创建

打开MyEclipse 9 中右上角如下选项 



再新建一个EJB项目



新建后项目结构如下:



右击新建Interface,
本人新建的Interface如下:
package edw;

public interface HelloWorld {
	 public String sayHello(String who);
}

右击新建SessionBean:

package edw;

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

/**
 * Session Bean implementation class HelloWorldBean
 */
@Stateless
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld {

	/**
	 * Default constructor.
	 */
	public HelloWorldBean() {
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HelloWorld#sayHello(String)
	 */
	public String sayHello(String who) {
		// TODO Auto-generated method stub
		return who + ",你好,欢迎使用ejb";
	}

}

完成以上步骤之后,对其进行发布






这里模式我选择了



2.客户端测试类创建

新建一个Java Project
EjbClient
测试主类:
package edw;

import java.util.Properties;

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

public class HelloWorldEjbClient {

	/**
	 * @param args
	 * @throws NamingException
	 */
	public static void main(String[] args) throws NamingException {
		// TODO Auto-generated method stub
		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");  

        InitialContext context = new InitialContext(props); 

        HelloWorld helloWorldEjb = (HelloWorld)context.lookup("HelloWorldBean/remote");
        String strName = helloWorldEjb.sayHello("Edwards"); 

        System.out.println(strName);
	}

}

将上面创建的EJB中的接口文件存放至如下:


再builddpath,把jboss解压目录下的client文件夹下的 jbossall-client,jar  导入,到这里项目创建基本完成.
运行测试主类 HelloWorldEjbClient.java
备注:



lookup(url) 里面url 对应在jboss 里面的 namespace 

如何在jboss 里面找到?

步骤如下:在浏览器输入localhost:8080  ---注意8080是默认一般有冲突, 需要修改

点击红色圈里的连接 进入,

再找到

点击下面按钮:

终于找到了:

心得:

其实我也是刚开始学EJB,  这个测试项目折腾了我3天时间,  因为不熟悉而且很多陌生问题,版本问题或配置等问题网上资料很杂粹,
换了很多版本如Jboss 5,6,7; 很纠结特别是jboss 7, 然后又换回jboss 5 ,
终于测试成功了, ^-^,虽然不算什么,但又一体验了成就感...
坚持相信 没有解决不了的问题, 只有找不到的解决方法!


EJB3+JBoss5+Myeclipse9创建HelloWorld实例的更多相关文章

  1. 跟着刚哥学习Spring框架--创建HelloWorld项目(一)

    1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spri ...

  2. SpringMVC HelloWorld实例开发及部署

    SpringMVC HelloWorld实例开发及部署 2017-01-24 目录 1 Tomcat及Eclipse Tomcat插件安装配置  1.1 Tomcat的安装  1.2 Eclipse ...

  3. Maven– HelloWorld实例

    Maven– HelloWorld实例 maven安装好后,可以通过HelloWorld项目来体验一下maven是如何构建项目的.Maven项目的核心是pom.xml(就像Ant的build.xml一 ...

  4. EntityFramework Core 1.1是如何创建DbContext实例的呢?

    前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...

  5. 单机静默安装GI软件并创建ASM实例和ASM磁盘组

    环境:RHEL 6.4 + Oracle 11.2.0.4 需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到ASM做准备 1. 安装配置GI软件 2. 创建ASM实例 ...

  6. 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

    前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...

  7. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  8. C#创建委托实例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyDe ...

  9. 11g 使用rman duplicate复制数据库,创建辅助实例

    一,创建所需目录 1)创建审计文件目录 PROD1@dbrac1 /dsg/oracle11$ cd $ORACLE_BASE/admin PROD1@dbrac1 /u01/app/oracle/a ...

随机推荐

  1. StandardContext

    错误信息: 2014-2-6 21:37:19 org.apache.catalina.startup.HostConfig checkResources信息: Reloading context [ ...

  2. codevs 搜索题汇总(青铜+白银级)

    1792 分解质因数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze   题目描述 Description 编写一个把整数N分解为质因数乘积的程序. 输入描 ...

  3. 洛谷P2405 non天平

    题目背景 non最近正在为自己的体重而苦恼,他想称量自己的体重.于是,他找来一个天平与许多砝码. 题目描述 砝码的重量均是n的幂次,n^1.n^2.n^3.n^4.n^5的……non想知道至少要多少个 ...

  4. [HNOI2002]跳蚤

    题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最 ...

  5. ●洛谷P1083 借教室

    题链: https://www.luogu.org/problemnew/show/P1083题解: 二分,差分 显然具有二分性: 如果只考虑1~p个人,就会在某一天无法满足, 那么显然只考虑1~[p ...

  6. [BZOJ]4162: shlw loves matrix II

    Time Limit: 30 Sec  Memory Limit: 128 MB Description 给定矩阵 M,请计算 M^n,并将其中每一个元素对 1000000007 取模输出. Inpu ...

  7. Win10无法删除文件提示“你需要来自system的权限”

    不得不说win10的管理权限非常迷 windows10用户在删除文件时,就会遇到错误提示"你需要来自SYSTEM的权限才可以对此文件夹进行更改".以下是具体解决方法.   解决方案 ...

  8. Linux配置服务器的一点总结

    一.Linux初始化服务 首先搞清楚四个概念: 进程:正在运行的程序,有自己独立的内存空间. 线程:是进程的下属单位,开销较进程小,没有自己独立的内存空间. 作业:由一系列进程组成,来完成某一项任务. ...

  9. 关于 form表单 嵌套问题的解决方案

    我们经常是这样嵌套的: <form id="formId1" action="" method="post"> //表单1 &l ...

  10. Vue-起步篇:Vue与React、 Angular的区别

    毋庸置疑,Vue.React. Angular这三个是现在比较火的前端框架.这几个框架都各有所长,选择学习哪种就得看个人喜好或者实际项目了.相比之下, Vue 是轻量级且容易学习掌握的. 1.Vue和 ...