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

刚从国外看了一篇文档,由于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.编译运行,如下图:

 



 


 


 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值