IDEA+JBoss配置EJB入门项目(附完整源码)

首先是环境:我用的是IDEA+jboss-as-7.1.1.Final;

一、JBoss环境搭建

这个自行百度;

二、用IDEA创建EJB项目

1、新建一个空的Java项目

File --> New --> Project;

IDEA+JBoss配置EJB入门项目(附完整源码)_第1张图片
然后一路点next,配置项目名。这里我的项目名为 EJBDemo ;

结果如下:
IDEA+JBoss配置EJB入门项目(附完整源码)_第2张图片
2、创建服务端Module

选中项目名 --> 右键 --> New --> Module…

IDEA+JBoss配置EJB入门项目(附完整源码)_第3张图片
如果没有Download选项,可以在这里下载 javax.ejb-api.jar,然后选择use library自行配置;
设置完成后,点击next,输入模块名,这里我填的是 EJBServer ;
结果如下:
IDEA+JBoss配置EJB入门项目(附完整源码)_第4张图片
在src文件下,创建pers.jhl.session.stateless包;
Java包命名规范请看这:Java包(package)的命名规范&规则

然后在stateless下创建接口HelloWorld

package pers.jhl.session.stateless;

import javax.ejb.Remote;
@Remote
public interface HelloWorld {
    public String sayHello(String name);
}

创建HelloWorld的实现类HelloWorldBean

package pers.jhl.session.stateless;

import javax.ejb.Stateless;

@Stateless(name="HelloWorldBean")
public class HelloWorldBean implements HelloWorld {
    public String sayHello(String name){
        return "hello," + name;
    }
}

IDEA+JBoss配置EJB入门项目(附完整源码)_第5张图片

3、创建客户端Module

同上:
IDEA+JBoss配置EJB入门项目(附完整源码)_第6张图片
结果:
IDEA+JBoss配置EJB入门项目(附完整源码)_第7张图片
继续配置环境:
在EJBClient模块下新建lib文件夹,用来存放我们将要用到的包;
之后在JBoss/bin/client文件夹下找到jboss-client.jar包放到lib文件夹下;
IDEA+JBoss配置EJB入门项目(附完整源码)_第8张图片
然后在File --> Project Structure -->中配置
如下内容
IDEA+JBoss配置EJB入门项目(附完整源码)_第9张图片
然后选择新建lib文件下的jar包;

IDEA+JBoss配置EJB入门项目(附完整源码)_第10张图片
导入即可。

最后开始写代码:
首先将EJBServer中pers包完整的复制一份到EJBClient中src下;之后在pers.jhl.session下新建client包;在该包下创建HelloWorldClient类;
IDEA+JBoss配置EJB入门项目(附完整源码)_第11张图片
客户端代码如下:

package pers.jhl.session.client;

import pers.jhl.session.stateless.HelloWorld;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Properties;

public class HelloWorldClient {
    public static void main(String[] args) {
        try{
            Properties pro = new Properties();
            pro.put(Context.URL_PKG_PREFIXES,"org.jboss.ejb.client.naming");
            pro.put("jboss.naming.client.ejb.context",true);

            Context context = new InitialContext(pro);
            HelloWorld h = (HelloWorld) context.lookup("ejb:/EJBClient_war_exploded/HelloWorldBean!pers.jhl.session.stateless.HelloWorld");
            System.out.println( h.sayHello("Medlen"));
        }catch(NamingException e){
            e.printStackTrace();
        }

    }
}

关于lookup中ejb:/后的内容应当为java:jboss/exported/后面的内容:
下面的内容是在JBoss启动后打印出的信息
IDEA+JBoss配置EJB入门项目(附完整源码)_第12张图片
在src文件夹下新建jboss-ejb-client.properties文件,配置如下:

endpoint.name=client-endpoint
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
remote.connection.default.username=jboss用户名
remote.connection.default.password=jboss密码

3、到这里就完全配置完成了

  • 启动JBoss
  • 运行HelloWorldClient

结果:
在这里插入图片描述
完整源码下载:EJBDemo

你可能感兴趣的:(java基础)