我在我的應用程序中使用Unboundid內存目錄服務器,到目前爲止它工作得很好(比Apache DS好得多)。但是,當我的應用程序完成時,我想關閉服務器,它似乎「掛起」,即執行shutDown()命令,但線程不會停止。Unboundid InMemory LDAP SDK - 服務器不會關機
InMemoryDirectoryServerConfig configuration = new InMemoryDirectoryServerConfig(baseDNs);
configuration.setListenerConfigs(InMemoryListenerConfig.createLDAPConfig("default", port));
configuration.setSchema(null);
server = new InMemoryDirectoryServer(configuration);
server.startListening();
LDAPConnection ldapConnection = new LDAPConnection("localhost", PORT);
// lots of processing the LDAP data
ldapConnection.close();
server.shutDown("default", true);
它執行時沒有拋出任何東西,但它仍然不會關閉。
有趣的是,如果我執行上面的代碼W/O處理,它的工作原理。
EDIT
處理編碼基本上調用ldapConnection.search()
和ldapConnection.getEntry()
幾次以獲得一些用戶和組信息。然後使用這些信息創建對象,然後將它們插入到數據庫中。
EDIT 2
這沒有什麼區別,如果shutDown("default",true)
或shutDown(true)
被調用。我要測試你後面提到的其他事情。
我無法重現您描述的行爲。什麼處理完成?另請參見[內存目錄服務器](http://wp.me/p52Sb-gM)。 –