Uploaded image for project: 'Directory Client API'
  1. Directory Client API
  2. DIRAPI-149

LdapNetworkConnection should not create user-Threads

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.0.0-M18
    • 3.0.0
    • None

    Description

      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!
        }
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            ccwienk Christian Cwienk
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: