EJB 3事务传播和UnboundId LDAP SDK

时间:2012-02-13 18:58:35

标签: java transactions ldap ejb

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

1 个答案:

答案 0 :(得分:1)

RFC 5805中描述的标准LDAP事务工具并未提供任何方法将外部事件合并为事务的一部分(并且也没有很多目录服务器支持LDAP事务 - 我知道UnboundID Directory Server,以及作为UnboundID LDAP SDK的一部分提供的内存服务器,但我不知道其他任何人这样做。

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