当前位置: 首页 > 编程日记 > 正文

EJB3.1 JBoss7.1 Eclipse3.7

为什么80%的码农都做不了架构师?>>>   hot3.png

EJB3.1 JBoss7.1 Eclipse3.7

------Hello World

一、环境配置:

JDK:正常配置

Eclipse:正常下载,解压(V3.7

JBoss:正常下载,解压(V7.1

二、JBoss Tools安装

Eclipse里面安装JBoss Tools3.3

1、【Help】——>Install New Software】——>Add

输入:

Name: JBossTools

Location: http://download.jboss.org/jbosstools/updates/development/indigo/

 

——>OK】——>Select All】——>Next

——>(中间的步骤一直NEXT,需要选择同意)——>Finish

 

 

2、【Help】——>Install New Software】——>Add

输入:

Name: JBossTools Aop

Location: http://download.jboss.org/jbosstools/updates/development/indigo/soa-tooling/

——>OK】——>Select All】——>Next

——>(中间的步骤一直NEXT,需要选择同意)——>Finish

三、Eclipse里面配置JBoss

File】——>New】——>Other

(找到Server,并且选择)——>Next

(找到JBoss Community,选择JBoss AS 7.1)——>Next

(找到Home Directory)——>Browse…】——>

(选择JBoss解压的位置,即JBoss Home)——>

(找到JRE,选择你安装的JRE)——>Next

——>Next】——>Finish

 

以上步骤完毕后,在Servers视图内会有JBoss服务器出现。

点击该视图内的启动按钮,JBoss服务器开始启动

浏览器可以访问http://127.0.0.1:8080/,就算配置成功。

四、第一个EJB工程

File】——>New】——>Other

(找到EJB,并且选择EJB Project)——>Next

输入:

Project nameTestEJB

Target runtime:选择JBoss7.1

EJB module version:选择3.1

——>Next】——>Next

(选择Generate ejb-jar.xml deployment descriptor

——>Finish

 

生成的目录结构中,ejbModule目录为我们要写JAVA源代码的目录。

EJB写在这里。

ejbModule目录上右键【New】——>Other

(找到EJB,并且选择Session Bean(EJB 3.x))——>Next

输入:包名(com.ejb)、EJB类名(HelloWorld),

State type部分:选择Stateless

然后选择Remote  ——>Finish

自动生成代码如下:

package com.ejb;

 

import javax.ejb.Remote;

 

@Remote

public interface HelloWorldRemote {

}

 

 

package com.ejb;

 

import javax.ejb.LocalBean;

import javax.ejb.Stateless;

 

/**

 * Session Bean implementation class HelloWorld

 */

@Stateless

@LocalBean

public class HelloWorld implements HelloWorldRemote {

 

    /**

     * Default constructor.

     */

    public HelloWorld() {

        // TODO Auto-generated constructor stub

    }

  

}

 

 

在接口里面增加以下方法

public String sayHello(String name);

 

类里面实现该方法

public String sayHello(String name){

        return "Hello " + name + "!";

    }

 

 

五、部署EJB

在工程上右键——>Export】——>EJB JAR file

Destination处:——>Browse…】——>

选择JBoss服务器的部署目录,我的目录如下:

 

D:\eclipse-jboss\jboss-as-7.1.1.Final\standalone\deployments\TestEJB.jar

 

然后——>Finish

 

Console视图会出现详细部署信息

六、客户端代码

1、新建一个普通Java Project工程:

2、加入JBOSS运行库,及jboss\bin\client下的jboss-client.jar

3、把EJB的接口拷贝到该工程内:

4、新建一个客户端类:类名(ClientTest

代码如下:

import java.util.Hashtable;

 

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

 

import com.ejb.HelloWorldRemote;

 

 

public class ClientTest {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

        // TODO Auto-generated method stub

                Hashtable<String, String> jndiProperties = new Hashtable<String, String>();

                jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

                try {

                    Context context = new InitialContext(jndiProperties);

                   

                    final String appName = "";

                    final String moduleName = "TestEJB";

                    final String distinctName = "";

                   

                    Object obj = context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/HelloWorld!com.ejb.HelloWorldRemote");

                   

                    HelloWorldRemote hwr =

                            (HelloWorldRemote)obj;

                    String say = hwr.sayHello("MengKeFei");

                    System.out.println(say);

                } catch (NamingException e) {

                    e.printStackTrace();

                }

    }

 

}

 

 

5、在classPath下增加“jboss-ejb-client.properties”文件,内容如下

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false

remote.connections=default

remote.connection.default.host=localhost

remote.connection.default.port = 4447

remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

 

6、运行该客户端,有如下结果:

 

Hello MengKeFei!

 

 

转载于:https://my.oschina.net/returnspace/blog/55122

相关文章:

NOIP2012-摆花

放题目不解释~~~~ 【试题描述】 小明的花店新开张&#xff0c;为了吸引顾客&#xff0c;他想在花店的门口摆上一排花&#xff0c;共m盆。通过调查顾客的喜好&#xff0c;小明列出了顾客最喜欢的n种花&#xff0c;从1到n标号。为了在门口展出更多种花&#xff0c;规定第i种花不能…

github提交代码却没有显示绿格子

在github上提交代码之后&#xff0c;进入github上面查看自己的提交&#xff0c;可以看看刚刚的提交内容&#xff0c;但是却一直没有显示绿格子&#xff0c;一个原因是本地git的配置邮箱和github上面的邮箱不一致。 解决办法是&#xff0c;打开本地的git bash&#xff0c;然后直…

spark+openfire即时通讯工具二次开发参考文档

摘自: http://gmd20.blog.163.com/blog/static/168439232010527525542/ 其中Spark是开源的基于XMPP协议的即时通讯工具&#xff0c;公司最近也换到用这个了&#xff0c;说是在服务器&#xff08;openfire&#xff09;上可以备份消息&#xff0c;然后可以看员工的聊天记录 smac…

python selenium 等待页面加载完毕_Selenium_等待页面加载完毕

隐式等待WebDriver driver newFirefoxDriver();driver.get("www.baidu.com");driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);WebElement element driver.findElement(By.cssSelector(".abc"));((JavascriptExecutor)driver).executeS…

TechEd 2012奥兰多!

亚特兰大TechEd 2011如同昨天的事情&#xff0c;今天又无比期待奥兰多的TechEd 2012&#xff01;如果可能的话&#xff0c;我将继续为大家分享关于奥兰多TechEd 2012 的现场见闻&#xff01; 转载于:https://blog.51cto.com/suhua/845796

【常见CPU架构对比】维基百科

Comparison of instruction set architectures https://en.wikipedia.org/wiki/Comparison_of_instruction_set_architectures转载于:https://www.cnblogs.com/timeObjserver/p/9441242.html

Python基础学习1(Python的Windows和Linux的安装及简单学习)

一Python的安装 1.Windows下安装Python &#xff08;1&#xff09;windows 命令行的几个常见的命令 dir&#xff1a;查看当前目录下的所有文件&#xff0c;以及目录 cd NAME&#xff1a;进入到NAME目录下&#xff08;tab键自动补全&#xff09; D: 切换到D盘 type NUL…

Python Tutorial(十):浏览标准库(一)

10.1 操作系统接口 os模块提供很多函数用于和操作系统的交互&#xff1a; 确定使用import os风格而不是from os import *。这将避免os.open()被内建的open()函数遮住&#xff0c;它的操作截然不同。 内建的函数dir()和help()作为交互助手对于大的模块像os是非常有用的&#xff…

学业水平考试b能上985吗_河南单招哪些学院好考?哪些专业能录取?

高职单招的录取规则是什么?在符合报考条件的前提下&#xff0c;考试是由两部分组成&#xff1a;文化素质评价职业适应性测试、职业技能测试。文化素质评价大多院校采用学业水平考试等级成绩折合一定的分值计入。有些学校采用现场考试语数外三门&#xff0c;以实际成绩计入。职…

单例模式Java实现

为什么80%的码农都做不了架构师&#xff1f;>>> public class Singleton {private static Singleton instance null;// 同步时加锁的静态对象private static final Object OL new Object();private Singleton() {// Class initialize}/** 在多线程环境下执行时的…

Go环境搭建、Sublime Text 3 安装Go语言相关插件gosublime

Go 语言环境安装 1.brew install go 默认安装&#xff0c;被安装了/usr/local/Cellar/go 目录并自设置了环境变量。 2.go env 可查看目前的go的环境变量 3.配置一个GOPATH环境变量&#xff0c;是工作目录。 根据约定&#xff0c;GOPATH下需要建立3个目录&#xff1a; bin 存储编…

ABAP性能实例七例

一、SQL Interface 1.Select ... Where vs. Select Check 用Select … Where语句效率比Select Check语句要高&#xff0c;例如&#xff1a; SELECT * FROM SBOOK INTO SBOOK_WA WHERE CARRID LH AND CONNID 0400. ENDSELECT. SELECT * FROM SBOOK INTO SBOOK_WA. CHECK: SB…

C语言中打印‘%’

C语言中打印‘%’不能直接printf("%")&#xff0c;这里的%有特殊含义的&#xff0c;要想打印的话&#xff0c;需要输入printf("%%")&#xff0c;两个%才可以将它打印出来。C语言中的其他的特殊字符&#xff0c;以后再慢慢做整理。

vba 字体颜色_多掌握一些VBA语句,让自己书写代码更加顺畅

VBA 是好东西&#xff0c;对于身在职场的人员&#xff0c;或者是积极打拼的创业者&#xff0c;是数据分析的首选&#xff0c;他可以实现量身定做&#xff0c;解决一些规律性强的问题。或者代替人处理一些可以描述出有逻辑关系的数据分析。多掌握一些VBA语句&#xff0c;让自己书…

编写jQueryUI插件(widget)

使用jQueryUI的widget来写插件&#xff0c;相比于基本的jquery插件有一些好处&#xff1a; * 方便实现继承&#xff0c;代码重用 * 默认是单例 * widget已经给你实现好的一些常用方法&#xff0c;例如destroy 带来好处的同时也带来了荆棘和陷阱&#xff0c;本文的目的就是梳理这…

mail 发送email

&#xff08;一&#xff09;首先安装ssmpt和mailutils&#xff1a; sudo apt-get install ssmtp mailutils &#xff08;二&#xff09;接下来编辑配置文件sudo gedit /etc/ssmtp/ssmtp.conf rootYOUR_PERSONAL_MAILDOMAIN mailhubsmtp.gmail.com:465 rewriteDomaingmail.com A…

C语言中字符型在计算机中的存储

一. 字符型的分类和表示范围 char&#xff1a;是有符号还是无符号数视编译器而定&#xff0c;一般为有符号数&#xff0c;下文把它全部当成有符号数进行讨论 表示范围&#xff1a;32位和64位机器上均是一个字节&#xff0c;所以是八个bit位&#xff0c;最高位为符号位之后&…

python中正确的表达式_python中如何正确使用正则表达式的详细模式(Verbose mode expression)...

简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具&#xff0c;拥有自己独特的语法以及一个独立的处理引擎&#xff0c;效率上可能不如str自带的方法&#xff0c;但功能十分强大。得益于这一点&#xff0c;在提供了正则表达式的语言里&#xff0c…

ASP.NET中 RequiredFieldValidator(非空验证)的使用

ylbtech-ASP.NET-Control-Validator: RequiredFieldValidator(非空验证)的使用ASP.NET中 RequiredFieldValidator(非空验证)的使用。 1.A,运行效果返回顶部 登录 RequiredFieldValidator&#xff1a;非空验证重要的属性&#xff1a;1,ControlToValidate&#xff1a;要验证的控件…

5013.FortiGate企业级硬件防火墙Demo演示文档

FortiGate企业级硬件防火墙Demo演示文档 语言&#xff1a;英文类型&#xff1a;Demo大小&#xff1a;2MB格式&#xff1a;WEB摘要&#xff1a;和真实的硬件防火墙操作界面一模一样的&#xff0c;非常实用&#xff01;可以通过这些界面了解到在配置硬件防火墙时需要配置哪些参数…

下拉列表JComboBox,列表框JList

1、下拉列表JComboBox public class Demo extends JFrame {public Demo() {setBounds(100, 100, 200, 100);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);Container c getContentPane();c.setLayout(new FlowLayout()); // JComboBox cbbnew JComboBox();…

C语言中整型在计算机中的存储

一 . 整型的表示 1.字面值后面加上L(l)表示long长整型 2.字面值后面加上U(u)表示usigned整型值 3.十进制123 ... 4.八进制&#xff0c;以0开头&#xff0c;如0123&#xff0c;0754 ... 5.十六进制&#xff0c;以0x开头&#xff0c;如0xF32 ... 二 .整型的分类和表示范围 ch…

多个前端项目放在一个git好还是_前端工作流

没有规矩不成方圆&#xff0c;如果一个项目只有你一个人在维护&#xff0c;那么你不需要担心很多问题&#xff0c;因为你对它心知肚明&#xff0c;但同时一个人的力量无法支撑起来大型项目。更多时候&#xff0c;我们需要与其他人合作&#xff0c;共同把项目推进&#xff0c;这…

hadoop上的pageRank算法

简单的pageRank实现参考&#xff1a;http://wlh0706-163-com.iteye.com/blog/1397694 较为复杂的PR值计算以及在hadoop上的实现&#xff1a;http://deathspeeder.is-programmer.com/posts/31349.html pageRank算法的基本思想是&#xff1a;网页的热门程度依赖指向它的网页的热门…

【11平台天梯】【原理分析】11平台天梯原理分析

写作缘由 (Elo Ratings) ELO排名制度是当今对弈水平评估的公认的权威方法。它最初由物理学教授 Arpad Elo 创立&#xff0c;故命名为埃罗排名。埃罗排名最早应用于国际象棋和围棋&#xff0c;目前已广泛用于国际象棋、围棋、足球、篮球等运动。ELO算法先是在网游WOW取得了成功&…

PAT Basic 1072

1072 开学寄语 下图是上海某校的新学期开学寄语&#xff1a;天将降大任于斯人也&#xff0c;必先删其微博&#xff0c;卸其 QQ&#xff0c;封其电脑&#xff0c;夺其手机&#xff0c;收其 ipad&#xff0c;断其 wifi&#xff0c;使其百无聊赖&#xff0c;然后&#xff0c;净面、…

C语言中浮点型在计算机中的存储

一 . 浮点型的存储 在十进制中我们都学习过科学计数法&#xff0c;比如31.4可以用科学计数法表示就是3.14*10^1。浮点型同样是采取科学计数法进行表示的。在计算机中&#xff0c;以二进制数存储&#xff0c;如1011.10用科学计数法的方式可以写成1.01110*2^3&#xff0c;因为浮点…

object-c中管理文件和目录:NSFileManager使用方法

object&#xff0d;c中管理文件和目录&#xff1a;NSFileManager使用方法 对于NSFileManager&#xff0c;文件或目录是使用文件的路径名唯一标识的。每一个路径名都是一个NSString对象&#xff0c;它可以是相对路径名&#xff0c;也可以是完整路径名。 相对路径名是相对于当前目…

python实现ssh登录send_Python实现ssh批量登录并执行命令

局域网内有一百多台电脑&#xff0c;全部都是linux操作系统&#xff0c;所有电脑配置相同&#xff0c;系统完全相同(包括用户名和密码)&#xff0c;ip地址是自动分配的。现在有个任务是在这些电脑上执行某些命令&#xff0c;者说进行某些操作&#xff0c;比如安装某些软件&…

传Exchange 15将于今年9月发布

Microsoft Exchange Conference &#xff08;简称MEC&#xff09;是微软公司所举办的有关Exchange Server软件的主题会议&#xff0c;但它在过去的十年间一直没有举行。今年的9月24-26日&#xff0c;微软将在佛罗里达州重新启动MEC并展示Exchange 15。根据ZDNet报道&#xff0c…