[ 
https://issues.apache.org/jira/browse/HTTPCORE-246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Kalnichevski resolved HTTPCORE-246.
----------------------------------------

       Resolution: Fixed
    Fix Version/s: 4.1.1

Bryan,

I fixed the bug in SVN trunk. Please review.

Actually EventListener was never intended for anything other than injecting 
basic HTTP connection lifecycle logging as HttpCore does not use any logging 
toolkit internally. One ought to have all protocol specific logic in the 
HttpRequestExecutionHandler implementation. 
HttpRequestExecutionHandler#finalizeContext is a better place for handling on 
connection close events than EventListener.

Oleg

> ThrottlingHttpClientHandler triggers EventListener.connectionClosed twice
> -------------------------------------------------------------------------
>
>                 Key: HTTPCORE-246
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-246
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1
>         Environment: Linux 2.6.32-26-generic #47-Ubuntu
>            Reporter: Bryan Pon
>            Priority: Minor
>             Fix For: 4.1.1
>
>
> In ThrottlingHttpClientHandler.closed(NHttpClientConnection), 
> connectionClosed() is called twice on the event listener:
>         if (this.eventListener != null) {
>             this.eventListener.connectionClosed(conn);
>         }
>         this.execHandler.finalizeContext(context);
>         if (this.eventListener != null) {
>             this.eventListener.connectionClosed(conn);
>         }
> I'm not sure if this is intentional (looks unlikely), but I have a use case 
> where this causes problems.  I want to start a new connection whenever one is 
> closed, so in the EventListener.connectionClosed() method I am invoking 
> ConnectingIOReactor.connect().  Since connectionClosed() is triggered twice, 
> this is opening two new connections.  I can work around the issue by checking 
> if connectionClosed() has already been called.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to