You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org> on 2010/12/25 13:44:46 UTC

[jira] Resolved: (AXIS2-3725) TCP connections in CLOSE_WAIT state after axis calls resulting in an exception

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

Amila Chinthaka Suriarachchi resolved AXIS2-3725.
-------------------------------------------------

    Resolution: Fixed

the suggestion to add the try/finally block is already added.

Now Axis2 shares the connections but need to clean up each connection once the invocation is over.

> TCP connections in CLOSE_WAIT state after axis calls resulting in an exception
> ------------------------------------------------------------------------------
>
>                 Key: AXIS2-3725
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3725
>             Project: Axis2
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.3, 1.1.1
>         Environment: BEA-Weblogic 8.1 SP6
>            Reporter: Dennis Merkel
>
> Similar problems reported in AXIS-2430, AXIS-2883 and SOAP-170.
> PROBLEM-DESCRIPTION
> Every axis call resulting in an exception (whether the server is down or server responding with wsdl:fault) leaves behind a new tcp connection in the CLOSE_WAIT state. 
> Once the maximum number for SOCKET_WAITs is reached (depending on operating system - the maximum number of open file descriptors) no more calls could be handled until restart of BEA-Weblogic-Server.
> WORKAROUND
> The problem was fixed by adapting each java (wsdl:operation)-method of the generated client stub as followed: the try-catch-block was extended with the finally block
> finally{
>             if(_messageContext != null){
>                 _messageContext.getTransportOut().getSender().cleanup(_messageContext);
>             }
>         }
> The cleanup method in original stub is called only in try-block, so if an exception rises during a web service call, code execution is continued in catch block without calling the cleanup method leading by that to a new not cleaned up connection in the CLOSE_WAIT state.
> P.S.:
> - It is required to move the declaration of _messageContext variable before the try block to make it visible in finally block
> - Problem was initialy found on axis2 1.1.1, upgrade to 1.3 did not eliminate the problem

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org