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

本文详细介绍了如何使用IntelliJ IDEA和JBoss AS 7.1.1.Final搭建EJB项目,包括环境搭建、创建服务端与客户端模块、配置远程连接及示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、JBoss环境搭建

这个自行百度;

二、用IDEA创建EJB项目

1、新建一个空的Java项目

File --> New --> Project;

在这里插入图片描述
然后一路点next,配置项目名。这里我的项目名为 EJBDemo ;

结果如下:
在这里插入图片描述
2、创建服务端Module

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

在这里插入图片描述
如果没有Download选项,可以在这里下载 javax.ejb-api.jar,然后选择use library自行配置;
设置完成后,点击next,输入模块名,这里我填的是 EJBServer ;
结果如下:
在这里插入图片描述
在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;
    }
}

在这里插入图片描述

3、创建客户端Module

同上:
在这里插入图片描述
结果:
在这里插入图片描述
继续配置环境:
在EJBClient模块下新建lib文件夹,用来存放我们将要用到的包;
之后在JBoss/bin/client文件夹下找到jboss-client.jar包放到lib文件夹下;
在这里插入图片描述
然后在File --> Project Structure -->中配置
如下内容
在这里插入图片描述
然后选择新建lib文件下的jar包;

在这里插入图片描述
导入即可。

最后开始写代码:
首先将EJBServer中pers包完整的复制一份到EJBClient中src下;之后在pers.jhl.session下新建client包;在该包下创建HelloWorldClient类;
在这里插入图片描述
客户端代码如下:

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启动后打印出的信息
在这里插入图片描述
在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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值