有没有什么好方法可以将OpenLDAP或ApacheDS服务器与JMS集成,从而将LDAP数据库修改传播到另一个服务?

有没有什么好方法可以将OpenLDAP或ApacheDS服务器与JMS集成,从而将LDAP数据库修改传播到另一个服务?,ldap,jms,message-queue,Ldap,Jms,Message Queue,有没有什么好方法可以将OpenLDAP或ApacheDS服务器(或者另一个开源LDAP服务器)与JMS集成,从而将LDAP数据库修改传播到另一个服务 基本上,我需要LDAP服务器集群(几个具有主到主复制的实例)和另一个独立Java应用程序,通过JMS服务器(例如ActiveMQ)连接,以便: 对LDAP数据结构的所有更改都将发送到Java应用程序 Java应用程序。可以通过JMS服务器向LDAP数据库发送消息以更新LDAP数据 我发现有一种方法可以为ApacheDS()设置JMS复制,但我怀疑如

有没有什么好方法可以将OpenLDAP或ApacheDS服务器(或者另一个开源LDAP服务器)与JMS集成,从而将LDAP数据库修改传播到另一个服务

基本上,我需要LDAP服务器集群(几个具有主到主复制的实例)和另一个独立Java应用程序,通过JMS服务器(例如ActiveMQ)连接,以便:

  • 对LDAP数据结构的所有更改都将发送到Java应用程序
  • Java应用程序。可以通过JMS服务器向LDAP数据库发送消息以更新LDAP数据
  • 我发现有一种方法可以为ApacheDS()设置JMS复制,但我怀疑如果我们有一个由多个ApacheDS主机组成的集群+一个JMS复制节点来将所有修改发送到集群,该方法是否有效


    更新:描述ApacheDS JMS复制的页面已经有5个耳朵了,所以我知道,目前ApacheDS中唯一的复制方式是基于LDAP协议的复制。

    我不能为ApacheDS说话,但OpenLDAP已经包含了一个完整的复制系统,有大约六种不同的配置方式;换句话说,没有Java和JMS,您可以做得非常好,效率更高。

    有IDM产品可以执行您所要求的功能。 我知道NetIQs IDM产品与JMS配合得很好

    OpenLDAP和ApacheDS有一个变更日志,可以用来确定所做的更改。
    然后,您可以编写一些代码将更改发送到JMS队列。

    我们的主要目标是将LDAP数据库中所做的更改传播到主应用程序,并将更改发布回主应用程序。我读过关于LDAP中的“持久搜索”的内容,但我认为将它从LDAP服务器开始连接到某个消息队列总线会更可靠。@Nikolay你为什么这么认为?我已经让OpenLDAP复制通过refreshAndPersist运行到两个从属服务器大约一年了,根本没有任何可靠性问题。为什么使它更复杂会使它更可靠?我想将更改从LDAP数据库导入独立Java应用程序,以使用LDAP作为数据存储,这样LDAP数据库就可以被其他客户端使用,所有更改都会反映在Java应用程序中。我可以看到有很多选项可以同步几个OpenLDAP节点,但我正在寻找一种好方法,让OpenLDAP将所有更改作为一种方式发布到我的Java应用程序中。为什么不让Java应用程序直接使用LDAP服务器,而不使用第二个数据库?您必须同步吗?Java应用程序的负载将很重。我想在那个里维护缓存,因为我怀疑LDAP服务器在重载下能否正常工作。