我希望我的嵌入式ApacheDS在运行测试时启动新的架构/内容。我尝试使用以下行导入LDIF:
LdifFileLoader ldifLoader = new LdifFileLoader(service.getAdminSession(), "path/to/my/export.ldif");
ldifLoader.execute();
但是现在ApacheDS将信息存储在当前工作目录中的 server-work 目录中。我不得不每次手动删除目录 server-work ,我想知道这是不是正确的方式......
我也将架构导出为LDIF,我想先导入它。我可以用 LdifFileLoader 导入它吗?或者我是以错误的方式做到这一点?
答案 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"/>