You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Christian Cwienk (JIRA)" <ji...@apache.org> on 2013/06/28 10:05:19 UTC

[jira] [Created] (DIRAPI-149) LdapNetworkConnection should not create user-Threads

Christian Cwienk created DIRAPI-149:
---------------------------------------

             Summary: LdapNetworkConnection should not create user-Threads
                 Key: DIRAPI-149
                 URL: https://issues.apache.org/jira/browse/DIRAPI-149
             Project: Directory Client API
          Issue Type: Bug
    Affects Versions: 1.0.0-M18
            Reporter: Christian Cwienk


When creating a LdapNetworkConnection, a 'NioThread' is created as a 'User-Thread' that handles network IO. This thread lives for as long as the connection is not closed.

If the connection is not closed this will prevent the JavaVM from terminating, which may be somewhat unexpected, since this behaviour is not explicitly documented.

My suggestion would be to change the io-Thread's type to be a 'daemon' thread. That way, not closing an LdapConnection would not prevent the JavaVM from terminating.

example code snippet:

  public static void main(String[] args) throws Exception
  {
    LdapConnectionConfig cfg = new LdapConnectionConfig();
    cfg.setLdapHost("myHost");
    cfg.setLdapPort(389);
    cfg.setName("myUser@myHost");
    cfg.setCredentials("myPassword");
    
   LdapConnection conn = new LdapNetworkConnection(cfg);
   conn.bind();

   //the JavaVM will never terminate, because the connection was not closed!
  }


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira