我正在使用 ApacheDS 版本 2.0.0-M3(我不太熟悉它的工作原理)。我创建了一个新的分区类,扩展了 AbstractPartition。我能够创建此类的实例,并将其添加到 ApacheDsService 实例。
File instancePath = new File( param[0] );
ApacheDsService service = new ApacheDsService();
InstanceLayout layout = new InstanceLayout( instancePath );
try
{
service.start(layout);
//
TestPartition partition = new TestPartition ( layout );
partition.setSuffix( "ou=test" );
partition.setSchemaManager( service.getDirectoryService().getSchemaManager() );
partition.initialize();
service.getDirectoryService().addPartition( partition );
}
catch (Exception x)
{
LOG.error("Failed to start the service.", x);
System.exit(1);
}
但是,当我使用 Apache Directory Studio 连接到我的服务器时,我看不到我的分区。
我发现了这个问题: How to create a partition in the root in ApacheDS server programmatically using JNDI/LDAP? kayyagari 说有必要“在 ou=config 区域配置分区 ...”。
我不确定这到底是什么意思,并且没有太多运气在网上搜索详细信息。
我可以在 Apache Directory Studio 中看到 ou=config 分区。我可以在那里看到其他分区:ads-partitionId=system 和 ads-partitionId=example。查看 objectClass 属性,我可以看到它们都有一个值为 ads-jdbmPartition。我不确定我的分区是否应该有这样的条目(因为它不是 jdbm 分区,而是从 Web 服务获取其数据)。
(不幸的是,ApacheDS 站点上 2.0.0-M3 的文档链接给出了 404。)我的自定义分区的 LDIF 条目应该是什么样子?我无法正确输入,也不知道我是否遗漏了某些内容,或者我是否输入了错误的内容。
任何帮助,将不胜感激。
谢谢。