< 上一课 | 下一课 >

课程 2:开发 EJB

在本课程中,您将创建会话 Bean,开发本地接口并为该 Bean 开发实现类。还将使用“管理 EJB 导出”对话框将 EJB 公开为 OSGi 服务。

创建会话 bean

在此部分中,您将创建会话 Bean 并指定本地接口。
  1. 打开会话 Bean 向导。 在 EJB 项目中,右键单击 ejbModule,然后选择新建 > 会话 Bean (EJB 3.x)
  2. 创建 Bean。 在向导中输入以下值:
    项目 (Project)
    EJB
    Java™ 包
    com.ibm.example.impl
    Class 名
    EJBConverter
    状态类型
    Stateless
    Local
    选中本地复选框并输入以下值:com.ibm.example.EJBConverterLocal
    无接口视图
    取消选中无接口视图
    创建 EJB 3.x 会话 Bean
    注: 在本教程中开发的应用程序将使用本地接口。如果要使用远程接口,请在向导中选中远程复选框,然后开发相应的接口。远程接口的 JNDI 查询将以不同的方式工作。借助远程接口,调整查找代码。下一课将提供一个示例。
  3. 单击完成 这时,将创建会话 Bean 并在编辑器中打开类。

开发本地接口

创建会话 Bean 时,会在 EJBClient 项目中创建 EJBConverterLocal 接口。在此部分中,您将两个方法添加至该接口。这两个方法描述了基本温度转换操作。
  1. 打开 EJBConverterLocal 接口。 在 EJBClient 项目中,展开 ejbModule 文件夹和 com.ibm.example 软件包。双击 EJBConverterLocal 接口。这时,将在编辑器中打开该接口。
  2. 将方法添加至接口。 将以下方法添加至接口:
    public double convertToFahrenheit(double celsius);
    public double convertToCelsius(double fahrenheit);
    以下代码就是结果:
    package com.ibm.example;
    
    public interface EJBConverterLocal {
    
       public double convertToFahrenheit(double celsius);
    
       public double convertToCelsius(double fahrenheit);
    
    }
  3. 保存所做的更改。 请注意,保存接口文件时,将对 EJBConverter 类显示错误,这是因为该类尚未实现您添加至接口的方法。

开发实现类

在此部分中,您将实现本地接口所需的温度转换方法。
  1. 打开 EJBConverter 类。 在 EJB 项目中,展开 ejbModule 文件夹和 com.ibm.example.impl 软件包。双击 EJBConverter 类。这时,将在编辑器中打开该类。
  2. 移除缺省构造函数。
  3. 将您添加的两个方法的实现添加至 EJBConverterRemote 接口。 将以下方法实现添加至类:
    public double convertToCelsius(double fahrenheit) {
       return (fahrenheit - 32) * (5 / 9d);
    }
    
    public double convertToFahrenheit(double celsius) {
       return celsius * (9 / 5d) + 32;
    }
    完整的类类似于以下代码。请注意,向导生成的原始代码包含 @Stateless 注释和 @Local 注释,后者用于指定您在会话 Bean 向导中输入的本地接口。
    package com.ibm.example.impl;
    
    import com.ibm.example.EJBConverterLocal;
    import javax.ejb.Local;
    import javax.ejb.Stateless;
    
    @Stateless
    @Local(EJBConverterLocal.class)
    public class EJBConverter implements EJBConverterLocal {
    
       public double convertToCelsius(double fahrenheit) {
          return (fahrenheit - 32) * (5 / 9d);
       }
    
       public double convertToFahrenheit(double celsius) {
          return celsius * (9 / 5d) + 32;
       }
    }
  4. 保存所做的更改。

将 EJB 公开为 OSGi 服务

缺省情况下,会自动将您添加至具有 EJB 支持的 OSGi 项目的 EJB 公开为 OSGi 服务。公开 OSGi 服务通过 OSGi 清单中的 Export-EJB 头进行控制。 在此部分中,您将检查清单并使用“管理 EJB 导出”对话框来确认将 EJBConverter 公开为 OSGi 服务。
  1. 打开清单。 在 EJB 项目中,双击清单:EJB。这时,将打开清单。单击 MANIFEST.MF 选项卡以文本格式查看该文件。 请注意,有一个带有 EJBConverter EJB 条目的 Export-EJB 头。请注意,您可以通过将条目手动添加至 Export-EJB 头来管理 EJB 导出。可将 EJB 作为逗号分隔列表进行添加。
    注: 有两个 Export-EJB 头的特殊情况需要注意:
    如果指定 NONE 作为 Export-EJB 头的条目,那么不会将任何 EJB 公开为服务。如果指定 NONE,但仍将 EJB 添加至列表,那么工具将显示一个警告。
    BLANK
    如果清单中包含 Export-EJB 头,但没有任何条目,那么缺省情况下会将项目中的所有 EJB 都公开为服务。
  2. 打开“管理 EJB 导出”对话框。 右键单击 EJB 项目,然后选择 OSGi > 将 EJB 作为 OSGi 服务公开。 这时,将打开“管理 EJB 导出”对话框。在该对话框中,确认已选中了 EJBConverter EJB 旁边的框,然后单击确定。您可以在项目中使用此对话框来添加和移除已公开为服务的 EJB。更改在此对话框中选择的 EJB 将更改清单中 Export-EJB 头的条目。
    “管理 EJB 导出”对话框
    注: 如果对项目创建新的 EJB,那么会自动将它们公开为 OSGi 服务。您可以使用“管理 EJB 导出”对话框来清除不想公开的任何 EJB。
< 上一课 | 下一课 >
指示主题类型的图标 教程课程主题
信息中心的条款和条件 | 反馈

时间戳记图标 最近一次更新时间: 2014 年 4 月 17 日

文件名:osgi_ejb_2.html