首先是环境:我用的是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
本文详细介绍了如何使用IntelliJ IDEA和JBoss AS 7.1.1.Final搭建EJB项目,包括环境搭建、创建服务端与客户端模块、配置远程连接及示例代码。
&spm=1001.2101.3001.5002&articleId=89296512&d=1&t=3&u=7d4e874b4bb74520a93044a6ba430555)
4412

被折叠的 条评论
为什么被折叠?



