科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道快速应用EJB控件访问EJB资源

快速应用EJB控件访问EJB资源

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

EJB是J2EE框架中最重要的部分,也是企业应用中最常用的技术之一,然而EJB的客户端编写对于开发者而言不是一件轻松的事情。

作者:佚名 来源:ZDNet China 2007年11月18日

关键字: 应用 控件访问 EJB

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

创建EJB控件的典型步骤

EJB系统控件无法直接用于访问EJB资源,使用者必须继承EJB控件来创建自己的访问控件。一个继承控件只能对应于一个EJB的访问,所以使用者必须针对不同的EJB创建不同的访问控件。

你可以使用下面的步骤来创建自己的控件实现对EJB资源的访问:

1、创建Java接口,根据目标EJB资源类型的不同选择继承不同的EJB控件类。

2、要访问SessionBean类型的EJB资源,Java接口必须继承org.apache.beehive.controls.system.ejb.SessionEJBControl接口。

3、要访问EntityBean类型的EJB资源,Java接口必须继承org.apache.beehive.controls.system.ejb.EntityEJBControl接口。

4、用@ControlExtension关键字注释新创建的Java接口,通知解析器这个接口继承了另外的某个控件。

5、继承目标EJB的Home和Remote接口,这些接口可能是本地的或者是远程的。

6、使用@EJBHome.jndiName或者@EJBHome.ejbLink注释新创建的Java接口,指定控件如何搜索EJB实例。

7、如果控件使用jndiName来访问EJB,还需要使用@JNDIContextEnv关键字注释新创建的Java接口,说明控件如何与目标EJB容器实现交互。

创建访问SessionBean的控件

在本节中,我们将通过简单的例子演示如何使用EJB控件来访问SessionBean。

我们假设需要开发一个简单的SessionBean并且使用EJB控件来访问它。该EJB提供一个简单的Remote方法sayHello,调用sayHello可以返回”Hello World!”字符串。该EJB支持Remote方式访问。

为了说明Beehive并不仅仅局限于WebLogic平台,我们选择JBoss应用服务器作为演示时使用的EJB容器,EJB发布时使用的JNDI名称是“jndi/helloworld”。

接下来的EJB开发、部署和控件访问部分内容也针对JBoss应用服务器。实际情况下,你可能根据不同情况选择其他的J2EE容器比如Websphere、WebLogic、Geronimo、JOnAS等作为EJB容器,请根据下面的提示信息进行适当的调整。

开发SessionBean

首先我们来开发提供sayHello业务方法SessionBean,作者使用Eclipse+WTP(Web Tools Platform)插件工具完成开发。

如何开发EJB不是本文的关注点,所以这里只是简单的提供EJB实现对应的代码。开发EJB的学习资料可以在参考资源中找到。

EJB Bean类源代码—HelloWorld.java

清单1:ejbsrcorgvivianjbeehivecontrolsexamplesejbhelloworld.java

1. package org.vivianj.beehive.controls.examples.ejb;
2.
3. import javax.ejb.*;
4.
5. public class HelloWorld
6. implements SessionBean
7. {
8. public void ejbCreate() {
9. }
10. public String sayHello()
11. {
12. return “Hello World!”;
13. }
14. }

EJB Remote接口类源代码—HelloWorldRemote.java

清单2:ejbsrcorgvivianjbeehivecontrolsexamplesejbHelloWorldRemote.java

1. package org.vivianj.beehive.controls.examples.ejb;
2.
3. import javax.ejb.EJBObject;
4. import java.rmi.RemoteException;
5.
6. import javax.ejb.*;
7.
8. public interface HelloWorldRemote extends EJBObject {
9.
10. public String sayHello() throws RemoteException;
11.
12. }

EJB Home接口类源代码--HelloWorldHome.java

清单3:ejbsrcorgvivianjbeehivecontrolsexamplesejbHelloWorldHome.java

1. package org.vivianj.beehive.controls.examples.ejb;
2.
3. import javax.ejb.CreateException;
4. import javax.ejb.EJBHome;
5. import javax.ejb.FinderException;
6. import java.rmi.RemoteException;
7. import java.util.Collection;
8.
9. import javax.ejb.*;
10.
11. public interface HelloWorldHome extends EJBHome {
12.
13. public HelloWorldRemote create()
14. throws CreateException, RemoteException;
15.
16. }

EJB开发完成后,我们可以将EJB打包成企业应用,然后将生成的企业应用发布到JBoss应用服务器上。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章