设置 EJB 模块 ActivitySession 部署属性

使用此任务为企业 Bean 设置 ActivitySession 部署属性,以使 Bean 能够参与 ActivitySession 上下文,并支持基于 ActivitySession 的操作。

开始之前

此任务描述假定您具有包含可在 WebSphere® Application Server 中部署的应用程序企业 Bean 的企业归档 (EAR) 文件。有关更多详细信息,请参阅有关组装应用程序的主题。

关于此任务

使用组装工具来配置应用程序的部署属性。本主题描述使用 Rational® Application Developer 来配置 ActivitySession 部署属性。这些属性是其他部署属性之外的属性,例如“装入时间”,其指定 Bean 何时从数据库装入其状态。有关组装工具中的字段的详细信息,以及有关相关联任务的帮助,请参阅 Rational Application Developer 信息。

要为企业 Bean 设置 ActivitySession 部署属性,请完成以下步骤:

过程

  1. 启动组装工具。 有关更多信息,请参阅 Rational Application Developer 信息。
  2. 创建或编辑应用程序 EAR 文件。
    注: 确保将目标服务器设置为 WebSphere Application Server V7.0。

    例如,要更改现有应用程序的属性,请使用导入向导将 EAR 文件导入到组装工具中。要启动“导入”向导,请执行下列操作:

    1. 单击文件 > 导入 > EAR 文件
    2. 单击下一步,然后选择 EAR 文件。
    3. 在“目标服务器”字段中,选择 WebSphere Application Server V7.0
    4. 单击完成
  3. 在 Java™ EE 透视图的“项目资源管理器”视图中,右键单击企业 Bean 实例的 EJB 模块,然后单击打开方式 > 部署描述符编辑器 属性窗格中显示企业 Bean 实例的属性对话笔记本。
  4. 在属性窗格中,选择 Bean 选项卡。
  5. 选择您要更改的 Bean。
  6. 在“WebSphere 扩展”部分中,Bean 高速缓存下,将激活于属性设置为 ActivitySession
    按如下所示激活和钝化使用此激活策略的企业 Bean:
    • 在 ActivitySession 边界上,如果激活时存在 ActivitySession 上下文。
    • 在事务边界上,假定激活时存在事务上下文,但不存在 ActivitySession 上下文。
    • 否则,在调用边界上。
  7. 在“局部事务”组框中,将边界属性设置为 ActivitySession 当使用此设置时,局部事务必须在启动它的任何 ActivitySession 的范围中解析,或者如果不存在 ActivitySession 上下文,那么在启动它的同一 Bean 方法中解析。

    ActivitySession 的设置不适用于任何 EJB Home 方法,例如 create 或 finder 方法。EJB Home 方法不能参与 ActivitySession,因为此状态可能会导致死锁。

  8. 对于实体 Bean 或会话 Bean,设置每个 EJB 方法的 ActivitySession 属性。
    1. 在属性窗格中选择 ActivitySession 选项卡。
    2. 配置 ActivitySession 策略字段中,单击添加编辑为企业 Bean 的方法设置 ActivitySession 类型属性。这指定将方法调用委托给企业 Bean 的业务方法时,容器必须如何管理 ActivitySession 边界。
      从不
      容器在没有 ActivitySession 上下文的情况下调用 Bean 方法。
      • 如果客户机在 ActivitySession 上下文中调用 Bean 方法,那么容器抛出 InvalidActivityException 异常,其是 javax.rmi.RemoteException。
      • 如果客户机从 ActivitySession 上下文外调用 Bean 方法,那么容器的作用与设置 Not Supported 值相同。客户机在没有 ActivitySession 上下文的情况下必须调用此方法。
      必需
      容器总是在与客户机关联的 ActivitySession 上下文中调用 Bean 方法。如果客户机尝试在没有 ActivitySession 上下文的情况下调用 Bean 方法,容器会向客户机抛出 ActivityRequiredException 异常。ActivitySession 上下文被传递给企业 Bean 方法访问的任何 EJB 对象或资源。

      ActivityRequiredException 异常是 javax.rmi.RemoteException。

      需要新建
      无论客户机是在 ActivitySession 上下文中还是在 ActivitySession 上下文外调用方法,容器总是在新的 ActivitySession 上下文中调用 Bean 方法。新的 ActivitySession 上下文被传递给此 Bean 方法使用的任何企业 Bean 对象或资源。

      在方法持续时间内暂挂任何收到的 ActivitySession 上下文,并在方法结束后继续。在方法分派前,容器启动新的 ActivitySession,并在方法结束后完成。

      必需
      容器在 ActivitySession 上下文内调用 Bean 方法。如果客户机从 ActivitySession 上下文中调用 Bean 方法,容器在客户机 ActivitySession 上下文中调用 Bean 方法。如果客户机从 AcitivitySession 上下文外调用 Bean 方法,容器创建新的 ActivitySession 上下文,并从此上下文中调用 Bean 方法。ActivitySession 上下文被传递给此 Bean 方法使用的任何企业 Bean 对象或资源。
      不受支持
      容器在没有 ActivitySession 上下文的情况下调用 Bean 方法。如果客户机从 ActivitySession 上下文中调用 Bean 方法,那么在企业 Bean 实例上调用方法之前,容器暂挂 ActivitySession 和当前线程之间的关联。稍后方法调用返回时,容器会恢复暂挂的关联。暂挂的 ActivitySession 上下文不被传递给此 Bean 方法使用的任何企业 Bean 对象或资源。
      支持
      如果客户机从 ActivitySession 中调用 Bean 方法,容器在 ActivitySession 上下文中调用 Bean 方法。如果客户机在没有 ActivitySession 上下文的情况下调用 Bean 方法,容器在没有 ActivitySession 上下文的情况下调用 Bean 方法。ActivitySession 上下文被传递给此 Bean 方法使用的任何企业 Bean 对象或资源。
    3. 单击下一步
    4. 选择应用 ActivitySession 类型策略的方法。
    5. 单击完成

    当委托方法调用时,容器管理 ActivitySession 边界的方式取决于此处设置的 ActivitySession 种类容器事务类型,如关于配置事务部署属性的主题中所述。有关这两个属性之间的关系的详细信息,请参阅有关 ActivitySession 与事务容器策略组合的主题。

  9. 保存对部署描述符所作的更改。
    1. 关闭部署描述符编辑器。
    2. 接收到提示时,单击以保存对部署描述符所作的更改。
  10. 验证归档文件。 有关使用 Rational Application Developer 验证文件的更多信息,请参阅 Rational Application Developer 信息。
  11. 在项目的弹出菜单中,单击部署以生成 EJB 部署代码。
  12. 可选: 在 WebSphere Application Server 安装中测试已完成的模块。右键单击模块,单击在服务器上运行并按照显示的向导中的指示信息执行操作。
    要点: 仅将在服务器上运行用于单元测试。组装工具控制 WebSphere Application Server 安装,当远程发布应用程序时,组装工具将覆盖该服务器的服务器配置文件。请勿在生产服务器上使用在服务器上运行选项。

下一步做什么

组装应用程序后,使用系统管理工具来将 EAR 文件部署到要运行该应用程序的应用程序服务器。例如,要使用管理控制台,请参阅有关部署和管理企业应用程序的主题。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tas_depejb2
文件名:tas_depejb2.html