欢迎来到天天文库
浏览记录
ID:35478012
大小:81.00 KB
页数:11页
时间:2019-03-25
《glassfish中ejb常见问题解答》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Glassfish中EJB常见问题解答这里回答了一些关于在SUN公司的应用服务器内使用EnterpriseJavaBeans(EJB)的问题。在这里还有更多资料。如果你有问题或评论,请发到ejb@glassfish.dev.java.net.[译者注]原文:https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html这里的内容招用于Glassfish,JavaEESDK5,J2EESDK1.4,SunJavaSystemApplicationServer8.x,9.x。EJ客户•怎样从单立的java客户程序访问远程EJB?•单立的java客
2、户程序是不是可移植的?它和应用程序客户机(ApplicationClient)组件有什么区别?•从java客户程序访问EJB是不是需要RMIstubs?•如果已有一个单立的java客户程序,通过CosNamingJND・provider来访问EJB,那应该怎么办?怎样得到静态的RMI-IIOPstubs?本地访问EJB•我有一个具有本地接口的EJB,能不能从应用程序客户机(ApplicationClient)或单立的java客户程序访问它?•我有一个具有本地接口的EJB,能不能从另外一个应用的WEB组件来访问它?全局JND・名称•全局JNDI名称是怎样分配到Session/Entitybe
3、ans的?•怎样指定一个消息驱动Bean应使用的队列(Queue)和主题(Topic)?•我有一个EJB3.0Sessionbean具有多个远程业务接口。从单立的java客户程序,该怎样查找一特定的远程业务接口?怎样从单立的java客户程序访问远程EJB?步骤1.在您的代码中使用没有参数的lnitialContext()构造方法。开发员碰到的最常见的问题就是往InitialContext(args)中传入特定的JNDI引导(bootstrapping)®性。那些访问JavaEE服务的单立的java客户程序,从本质上说就不是可移植的,所以每个JavaEE产品都有不同的要求,怎样引导名称服务提
4、供者。(更多关于可移植的客户程序的信息,请看这里)。我们已经的一个jndi.properties文件放在了appserv-rt.jar中,这样开发员就不需要硬编码特定的JNDI引导属性。在使用无参数构造方法InitialContextO时,J2SE中的JNDI机制会自动检测到这个文件,并启动正确的名称服务提供者。步骤2.把远程EJB的全局JNDI名称传入■nitialContext」ookup()单立的java客户程序无法使用组件的命名环境(java:comp/env)或者@EJB注释,所以它们必须明确地使用全局JNDI名称来查找远程EJBo(关于怎样分配全局名称给EJB,请参看这里)。假
5、设远程EJB的全局名称是"FooEJB”:针对EJB2.1和更早的session/entitybean:InitialContextic=newInitialContextO;ObjecthomeObj=ic.lookup(”FooEJB”);FooHomefooHome=(FooHome)PortableRemoteObject.narrow(homeObj,FooHome.class);Foofoo=fooHome.create(...)针对有远程业务接口的EJB3.0Bean:InitialContextic=newInitialContextO;Foofoo=(Foo)ic.loo
6、kup(”FooEJB”);请注意,在EJB3.0中查找的结果可被直接转型成远程业务接口,不需耍使用PortableRemoteObject.narrow()。步骤3.把appserv-rt.jar和javaee.jar加I入java客户程序的类路径。在步骤1中讲到,你需耍appserv-rt.jar在我们的应用服务器中止确地启动命名服务提供者。javaee.jar包含了JavaEE5中的API类。例如,假设应用程序类在/home/user1/myclasses,客户程序主类是acme.MyClient:java-classpath$APS_HOME/lib/appserv-rt.jar:
7、$APS_HOME/lib/javaee.jar:/home/user1/myclassesacme.MyClient步骤4.如果必要的话,设置服务器主机属性:如果单立的java客户程序和服务器运行在不同的主机上,在客户端JVM设置系统属性-Dorg.omg.CORBA.ORBInitialHost。例如,假设服务器运行在主机com.acme.Hostl:java-Dorg.omg.CORBA.ORBInitialHos
此文档下载收益归作者所有