关于EJB的远程调用sessionBean的方式

本文详细介绍了EJB的两种调用方式:远程调用与本地调用,并提供了具体的代码实现步骤。远程调用时需初始化容器上下文并通过JNDI查找beanHome接口;本地调用则直接初始化上下文并查找JNDI名称。

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

EJB的调用方式是有两种形式的,大致的调用顺序是这样的 

1->初始华servert的上下文,也就是初始化容器的上下文,

2->在在远程的调用EJB的beanHome接口

3->home接口的create()方法用来获取ejb的远程接口,

4->有了这个远程的接口我们就可以调用他的所有方法了.

在这里我们要注意的是,因为我们有远程调用和本地调用,他们也是不同的,具体加些小的代码片段来演示下

**********当是远程的时候:(调用方和EJB所在的JVM不是同一个的时候)********************************

1->初始华servert的上下文,也就是初始化容器的上下文,

             我们要使用java.util.properties来设置下容器上下文,以这个对象为参数来设置上下文.

//注意要导入包

Properties p
=new  Properties() ;
//将服务器的配置信息放入p中
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
p.put (Context.PROVIDER_URL, 
"t3://localhost:7001");  //这里的localhost是weblogic所在的服务器的IP
//以上面的p来初始化容器上下文
Context ctx = new InitialContext (p); 

2->在在远程的调用EJB的beanHome接口

Object ref = context.lookup("JNDI_name"); //lookup()直接调用其jndi名称
SbLocalHome testHome =(ClassName)PortableRemoteObject.narrow(ref,ClassName.class);

3->home接口的create()方法用来获取ejb的远程接口,

test te= testHome .create()   //获得了远程的接口

4->有了这个远程的接口我们就可以调用他的所有方法了.

te.someMethod();

**********当是本地调用的时候:(调用方和EJB所在的JVM不是同一个的时候)********************************

 

//初始化容器上下文
Context cont=new InitialContext ();
//通过JNDI来获得sessionBean
testHome home=(testHome)cont.lookup("JNDIName");
//通过home来获得远程的接口
test te=home.create();
//通过远程接口来调用方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值