目前我使用EBJ 3,必须制作bean,它必须执行大型业务操作,包括将数据持久化到DB,发送一些JMS消息,以及将一些其他数据持久化到LDAP。我必须使此操作成为ACID,所以这对于将数据持久化到DB或向JMS发送消息没有任何问题(所有这些操作都支持事务传播)。但目前我坚持将数据持久化到LDAP。有什么技术可以解决我的问题吗?我们使用UnboundId LDAP SDK,即supports LDAP transactins,但我假设我不能将此事务传播到我bean。那么,在这种情况下最好的解决方案是什么?我应该写一些JTA或JTS代码吗?或者有一些简单的解决方案?或者有没有可能解决这个问题--我是否需要在LDAP事务中使用2PC功能?
发布于 2012-02-14 04:47:28
RFC5805中描述的标准LDAP事务工具没有提供任何方法来将外部事件合并为事务的一部分(而且支持LDAP事务的目录服务器也不是很多--我知道UnboundID目录服务器支持,内存中的服务器也是作为UnboundID LDAP SDK的一部分提供的,但我不知道有任何其他服务器支持)。
如果您需要以原子方式提交到LDAP目录服务器和一个或多个其他类型的存储库,那么没有标准的LDAP解决方案可以满足这一要求,因此您需要一个专有的解决方案,并且可能需要您编写在LDAP服务器中运行的自己的代码。
https://stackoverflow.com/questions/9266262
复制相似问题