2012-02-13 48 views
0

当前我使用EBJ 3,必须让必须执行大型业务操作的bean包含数据持久化到数据库,发送一些JMS消息并将其他一些数据持久化到LDAP 。我必须做这个操作ACID,所以这对于将数据保存到DB或将消息发送到JMS没有任何问题(所有这些操作都支持事务传播)。但是目前我坚持将数据保存到LDAP。有什么技术可以解决我的问题吗?我们使用UnboundId LDAP SDK,即supports LDAP transactins,但我认为我无法将此事务传播给我的bean。那么,在这种情况下最好的解决方案是什么?我应该写一些JTA或JTS代码吗?或者有一些简单的解决方案?或者甚至有可能解决这个问题 - 可能是我需要2PC能力的LDAP交易?EJB 3事务传播和UnboundId LDAP SDK

回答

1

RFC 5805中描述的标准LDAP事务处理设施没有提供任何方式来将外部事件作为事务的一部分(并且也没有很多目录服务器支持LDAP事务 - 我知道UnboundID目录服务器,以及作为UnboundID LDAP SDK一部分提供的内存中服务器,但我不知道有其他人会这样做)。

如果您需要以原子方式提交到LDAP目录服务器和一个或多个其他类型的存储库的能力,那么没有标准的LDAP解决方案可以适应此问题,因此您需要一个专有解决方案,并且它可能会要求您编写自己的代码,以便在LDAP服务器中运行。

+0

感谢您的回复。我认为这几乎是不可能的(除了黑客方法)......对不起,但我不能增加你的声望(没有足够的回购或不适合)。 :) – gkuzmin 2012-02-13 21:03:04