[AIX Solaris HP-UX Linux Windows][IBM i]

共享连接以便从一阶段落实优化中受益

在某些情况下,可将 JMS 应用程序配置为共享消息传递引擎使用的 JDBC 连接。共享连接允许您使用一阶段落实优化。这会改进应用程序的性能。

关于此任务

消息传递引擎在数据库中存储持久数据并使用 JDBC 数据源来与该数据库进行交互。某些 JMS 应用程序还在数据库中存储持久数据,例如,当应用程序使用实体企业 Bean 时就是这样。通常,此类应用程序使用两阶段落实事务来协调对所调用的 JMS 和 JDBC 资源进行的更新。
可以将应用程序配置为共享消息传递引擎使用的 JDBC 连接,这使您能够使用一阶段落实事务并提高应用程序的性能。在下列情况下,您可以从一阶段落实优化中受益:
  • 应用程序必须对其 JMS 消息使用保证持久性可靠性属性。
  • 应用程序必须使用绑定至 JDBC 数据源的容器管理的持久性 (CMP) 实体 bean,消息传递引擎将该数据源用作其数据存储器。
限制: 在下列情况下,您不能从一阶段落实优化中受益:
  • 如果应用程序对其 JMS 消息使用保证持久性以外的可靠性属性。
  • 如果应用程序使用 BMP 实体 bean 或 JDBC 客户机。
  • 如果应用程序使用 DB2® 高可用性灾难恢复 (HADR)。

在配置系统之前,确保考虑 Java EE 应用程序中可能受一阶段落实影响的所有组件。

过程

  1. 为 JMS 消息选择保证持久性可靠性属性。
  2. 在将 res-auth 设置为 Container 的情况下部署一阶段落实事务所涉及的所有 CMP 企业 Bean。
  3. 部署一阶段落实事务涉及的所有 CMP 企业 Bean,其中 AccessIntent 映射至 JDBC Read Committed 事务隔离级别。 可以为 AccessIntent 选择下列任何一个值:
    • WSOptimisticUpdate
    • WSOptimisticRead
    • WSPessimisticUpdate-NoCollisions
    Oracle 提示:WSPessimisticUpdateExclusive 以外,AccessIntent 的所有值都映射至 JDBC Read Committed 事务隔离级别。
    DB2 提示: 由于 WebSphere® Application Server 利用 DB2 动态事务隔离级别支持,所以,可以对 AccessIntent 使用任何值。
  4. 确保对 CMP 企业 Bean 和消息传递引擎数据存储器使用相同的认证别名。
  5. 在配置 JDBC 数据源时,确保选择了以下选项:对 CMP bean 使用数据源
  6. 将 JDBC 数据源定制属性 jmsOnePhaseOptimization 的值设置为 true
  7. 使用 JMS 连接工厂或激活规范面板来选择与 CMP 共享数据源选项。
  8. 当您创建 JDBC 提供程序并设置选择实现类型字段时,确保选择 Connection pool data source (并且未选择 XA data source)。

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



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