事务支持

当 WebSphere 安全性或应用程序调用 virtual member manager 时,virtual member manager 可提供有限的事务支持。

如果是 WebSphere 安全性调用的 virtual member manager,那么 virtual member manager 会始终将用于其操作的局部事务与底层存储库一起使用。

如果是应用程序通过其基于 SDO 的 API 或通过其在调用者全局事务启动后的无状态会话 EJB 来调用的 virtual member manager,那么 virtual member manager 会参与调用者全局事务。这种情况下,virtual member manager 不会提供方法来阻止其参与调用者全局事务。如果调用者未启动全局事务,那么 virtual member manager 会启动自己的全局事务。

会启用此行为的原因是在 virtual member manager 无状态会话 EJB 中事务属性设置为 TX-Supports。当不使用 virtual member manager 无状态会话 EJB 时,virtual member manager 会使用 WebSphere Application Server 事务管理器。

设计全局事务时,如果调用者在调用 virtual member manager 之前启动全局事务,那么调用者需要考虑到 virtual member manager 不会为非事务性存储库提供任何事务性支持。如果存储库不能支持事务,那么它不会参与由 virtual member manager 或 virtual member manager 调用者启动的任何事务。
注: Virtual member manager 将 LDAP 服务器视为非事务性存储库。

如果 virtual member manager 配置为事务性和非事务性存储库混合使用,并且如果事务需要回滚,那么只会回滚事务性存储库。会记录相应错误消息,并且管理员可能需要手动清除非事务性存储库。例如,virtual member manager 配置有 LDAP 服务器和属性扩展存储库(这是数据库),并且您要使用扩展数据库中的一些其他属性在 LDAP 目录上创建人员条目。如果在 LDAP 存储库上成功创建人员条目,而在数据库中创建其他属性失败,那么扩展数据库会回滚,但在 LDAP 上创建的人员条目不会自动移除。会记录相应错误消息。 管理员必须检查日志并从 LDAP 目录中移除该人员条目。

zOS 控制器区域限制

由于 virtual member manager 支持插件和定制存储库适配器,因此如果是编写由 virtual member manager 调用的定制代码,那么定制代码可以参与 virtual member manager 事务。设计 virtual member manager 的定制扩展时,您需要注意以下平台限制:
  • 不支持全局事务。
  • 不支持局部事务包含范围。
  • 控制器区域中只能使用类型 4 JDBC 驱动程序。


使用条款 | 反馈