您的位置:首页 > 其它

Jboss7.1 final部署EJB3.0简单教程

2012-06-12 21:06 302 查看
刚从国外看了一篇文档,由于jboss7.1 final更新了很多内容,新手无法下手配置。在此给新手入门。

主要环境搭建 Eclipse3.7+Jboss7.1 final

1.官网下载jboss-as-7.1.1.Final,并解压文件。如下图



并运行\jboss-as-7.1.1.Final\bin\standalone.bat文件

2.打开Eclipse创建工程,工程名为JbossTest

3.Eclipse中加入jboss开发EJB必要的 JAR文件,目录地址为jboss-as-7.1.1.Final\bin\client\jboss-client.jar

4.创建一个远程接口HelloRemote,包名为com.ejb.impl,主要代码如下:

package com.ejb.impl;

import javax.ejb.Remote;

@Remote

public interface HelloRemote {

public String say(String name);

}

5.创建实现类Hello,包名为com.ejb.Util,主要代码如下

package com.ejb.Util;

import javax.ejb.LocalBean;

import javax.ejb.Stateless;

import com.ejb.impl.HelloRemote;

@Stateless

@LocalBean

public class Hello implements HelloRemote{

public String say(String name){

return name+" 您好!";

}

}

6.项目工程打包,选择File 》Export》Java》JAR file进入以下界面,如下图:



将JAR文件打包到\jboss-as-7.1.1.Final\standalone\deployments目录下

7.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

8.创建客户端测试类Test,包名为package com.ejb.test,代码如下:

package com.ejb.test;

import java.util.Hashtable;

import java.util.Properties;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import com.ejb.Util.Hello;

import com.ejb.impl.HelloRemote;

public class Test {

/**

* @param args

* @throws NamingException

*/

public static void main(String[] args) throws NamingException {

// 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 = "";

// 部署的已经打包的jar文件的名字

final String moduleName = "HelloWorld";

final String distinctName = "";

// 实现类的类名

final String beanName = Hello.class.getSimpleName();

// 接口类的全名

final String viewClassName = HelloRemote.class.getName();

String lookupStr = "ejb:" + appName + "/" + moduleName + "/"

+ distinctName + "/" + beanName + "!" + viewClassName;

Object obj = context.lookup(lookupStr);

HelloRemote hwr = (HelloRemote) obj;

String say = hwr.say("王玮");

System.out.println(say);

} catch (NamingException e) {

e.printStackTrace();

}

}

}

8.编译运行,如下图:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: