在每次启动ApacheDS时导入架构LDIF和内容LDIF?

时间:2009-10-15 13:59:47

标签: java schema ldap apacheds ldif

我希望我的嵌入式ApacheDS在运行测试时启动新的架构/内容。我尝试使用以下行导入LDIF:

    LdifFileLoader ldifLoader = new LdifFileLoader(service.getAdminSession(), "path/to/my/export.ldif");
    ldifLoader.execute();

但是现在ApacheDS将信息存储在当前工作目录中的 server-work 目录中。我不得不每次手动删除目录 server-work ,我想知道这是不是正确的方式......

我也将架构导出为LDIF,我想先导入它。我可以用 LdifFileLoader 导入它吗?或者我是以错误的方式做到这一点?

2 个答案:

答案 0 :(得分:4)

使用DirectoryService#setWorkingDirectory(File)更改工作目录。

在setUp()或tearDown()方法中,您可以删除此目录。

答案 1 :(得分:3)

Spring LDAP可以为您动态构建服务器,并在启动时使用LDIF加载它。它构建的服务器是ApacheDS服务器。

 <security:ldap-server root="dc=example,dc=com" port="33389" ldif="classpath:EmbeddedServerRoot.ldif"/>