[ 
https://issues.apache.org/jira/browse/DIRAPI-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13498479#comment-13498479
 ] 

Emmanuel Lecharny commented on DIRAPI-96:
-----------------------------------------

I was considering your suggestion, but at this point, if the close() throws an 
exception, it's way more critical than the bind exception, and I would not like 
to miss it as a user...

wdyt ?

I'm adding a LOG btw.
                
> Connection leak in LdapConnectionPool.
> --------------------------------------
>
>                 Key: DIRAPI-96
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-96
>             Project: Directory Client API
>          Issue Type: Bug
>            Reporter: Damien Dubé
>             Fix For: 1.0.0-M13
>
>
> If a Connection fails on credentials, the LdapConnection is not closed and is 
> not in the pool. 
> I modified the makeObject() function in PoolableLdapConnectionFactory.java to 
> this and it does the trick.
>     public Object makeObject() throws Exception
>     {
>         LOG.debug("creating a LDAP connection");
>         LdapNetworkConnection connection = new LdapNetworkConnection(config);
>         try {
>             connection.bind(config.getName(), config.getCredentials());
>         } catch (Exception e1) {
>             try {
>                 connection.close();
>             } catch (Exception e2) {
>             }
>             throw e1;
>         }
>         return connection;
>     }

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

Reply via email to