您的位置:首页 >> 编程开发 >> Java >> JavaBeans >> 正文
RSS
 

编写Enterprisebean的客户端(上)

http://www.rdxx.com 01年11月17日 11:08 互联网 我要投稿

关键词: 客户端 , ERP , Bean , NT , BEA

下面两篇从五个方面来介绍如何编写Enterprise bean的客户端:

一、Enterprise JavaBean的客户视图:

  Enterprise JavaBean客户是一个独立的应用程序,或者是一个Servlet,或者一个Applet,还或者另一个Enterprise JavaBean。无论如何,客户要使用一个Enterprise JavaBean必须要做如下事情:


首先要JavaBean的home接口:EJB 规范里面要求客户应该使用Java的名字和目录接口JNDI(Java Naming and Direcotry Interface)API来定位Bean的home接口。


然后获得Enterprise JavaBean的remote接口的引用:可以使用Enterprise bean的home接口中定义的方法。可以产生一个会话bean,也可以产生或寻找(find)一个实体bean。


调用Enterprise JavaBean中定义的方法:客户并不直接调用Enterprise JavaBean中定义的方法。而是通过调用在Enterprise JavaBean的remote接口中暴露给用户的方法来使用JavaBean类中的方法。在remote接口中定义的方法就是在JavaBean中希望暴露给用户,让用户使用的方法。


初始化客户:

  在IAS所带的例子里面,作为客户的SortClient应用程序引入了必要的JNDI类、还引入了SortBean的home接口和remote接口。客户使用JNDI的API来定位Enterprise JavaBean的Home接口。

定位Home接口:

  客户用JNDI定位home接口。首先需要获得一个JNDI的初始化的上下文context。下面的代码实例化了一个新的javax.naming.Context类。在我们这个例子中叫做initialContext。然后,客户就可以使用上下文的lookup()方法从一个名字对应到home接口。注意,初始的命名上下文工厂的初始化是由EJB容器/服务指定的。

  上下文的lookup()方法返回了一个java.lang.Object的对象。代码必须把返回的对象转成所希望的类型。下面的代码是SortClient例子中的一段代码。Main()从使用JNDI服务开始,并用上下文的lookup()方法来定位home接口。将remote接口的名字(在这个例子中是sort)传递给context.loopup()方法。注意,程序最后将context.lookup()方法的结果传递给了SortHome,home接口的类型。


用JNDI定位home接口:

// SortClient java

import javax.naming.InitialContext;

import SortHome; // 引入bean的home接口

import Sort; // 引入bean的remote接口

public class SortClient {

……

public static void main(String[] args) throws Exception

javax.naming.Context context;

{ // 用命名服务获得JNDI上下文

context = new.javax.naming.InitialContext();

}

Object objref = context.lookup(sort);

SortHome home = (SortHome)javax.rmi.PortableRemoteObject.narrow(objref,

SortHome class);

Sort sort = home.create();

//做排序工作

sort remove();

}

maint()首先抛出一个普通的异常Excepion。当代码执行到这儿的时候,就算可能会导致程序的终止,客户也需要捕获任何发生的异常。

获得remote接口:

  现在我们获得了Enterprise JavaBean的home接口,然后,使用home接口的create()方法或者finder()方法就可以获得其remote接口了。实际使用哪个方法取决于Enterprise JavaBean的类型和Enterprise JavaBean的提供者在home接口定义的方法。

  例如:上面的代码显示了客户SortClient如何获得Sort的remote接口的引用。一旦SortClient获得了home接口的引用并将之转化为适当的类型(这里是SortHome),客户就可以产生bean的实例,并调用它的方法。本例子中调用了home接口的create()方法,方法返回了remote接口的引用。(因为这个例子里面SortBean是一个无状态的会话bean,其home接口只有一个create()方法,这个方法没有任何参数)。然后,SortClient就能够调用定义在remote接口中的方法:sort()和merge()来进行排序工作。当排序工作完成的时候,客户调用remote接口的remove方法来删除Enterprise bean的实例。

9 7 3 1 2 3 4 8 :

 
 
标签: 客户端 , ERP , Bean , NT , BEA 打印本文
 
 
  相关资讯
RSS
 
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站