EJB简单例子

Ejb 的首次搭建及向外发布接口



一环境搭建

*jboss jems-installer-1.2.0.GA(jboss安装文件 ,jboss包含了 web容器与ejb的容器)

*jdk选择1.5, 之前用的1.6有点问题后来选用了jdk1.5

*设置变量值

定义环境变量JAVA_HOME 变量值D:\java\Java\jdk1.5.0_06(JDK的安装路径),之前jdk的安装路径是D:\Program Files\Java\jdk1.5.0_06,因为 jems-installer-1.2.0.GA安装对Program Files文件名之间的空白

不识别所以将Program Files改为了java

*安装jems-installer-1.2.0.GA过程中将其中默认的单选按钮default改为ejb3

*定义变量JBOSS_HOME 变量值D:\jboss-4.0.5.GA (我的jboss安装路径)

安装后我的 jboss 的ejb发布路径:D:\jboss-4.0.5.GA\server\default\deploy

二.开发一个ejb
在myeclips中new -> ejb project ->选中javaee5.0-ejb3.0
2.定义ejb接口



Java代码
1.public interface HelloWorld {
2.
3.
4. public String sayHello(String name);
5.
6.}
public interface HelloWorld {


public String sayHello(String name);

}





3.定义接口实现类



Java代码
1.import javax.ejb.Remote;
2.import javax.ejb.Stateless;
3.import javax.persistence.Entity;
4.
5.
6.@Stateless
7.@Remote
8.public class HelloWorldImpl implements HelloWorld {
9. private String name;
10.
11. public String sayHello(String name) {
12.
13. this.name=name;
14. System.out.println("name:"+this.name);
15. return null;
16. }
17.
18.
19.
20.
21.
22.}
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.Entity;


@Stateless
@Remote
public class HelloWorldImpl implements HelloWorld {
private String name;

public String sayHello(String name) {

this.name=name;
System.out.println("name:"+this.name);
return null;
}





}







4.为了使其成为一个ejb,需要在实现类上加入注解 @Stateless @Remote
5.发布ejb ,将ejb 接口和实现都导出 选择 export 选择java->jar 至$JBOSS_HOME\server\default\deploy
6.在bin下运行run.bat启动jboss容器
7.可以通过http://localhost:8080/jmx-console/ ->jndiView ->list()->invoke按钮,查找有无与实现类同名的ejb
8.导出接口的jar包供客户端使用















三.开发一个客户端
1.new一个普通的java工程
2.导入jar包,可以采用user_library ,导入$JBOSS_HOME\client所有的jar
3.导入ejb接口jar包
4.在src下配置jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost
5.客户端调用ejb





Java代码
1.
2.
3.public class Test {
4.
5.
6. public static void main(String[] args) throws Exception {
7.
8. InitialContext context=new InitialContext();
9.
10. HelloWorld hw=(HelloWorld)context.lookup("HelloWorldImpl/remote");
11.
12. String s=hw.sayHello("张三");
13. System.out.println("client:"+s);
14.
15.
16. }
17.
18.}
19.
20.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值