当 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 配置有 LDAP 服务器和属性扩展存储库(这是数据库),并且您要使用扩展数据库中的一些其他属性在 LDAP 目录上创建人员条目。如果在 LDAP 存储库上成功创建人员条目,而在数据库中创建其他属性失败,那么扩展数据库会回滚,但在 LDAP 上创建的人员条目不会自动移除。会记录相应错误消息。 管理员必须检查日志并从 LDAP 目录中移除该人员条目。