[ http://issues.apache.org/jira/browse/AXIS2-935?page=comments#action_12436653 ] robert lazarski commented on AXIS2-935: ---------------------------------------
I can't reproduce this via 'netstat -anc | grep CLOSE_WAIT' on linux. Recently another user claimed this was occurring: http://marc.theaimsgroup.com/?l=axis-user&m=115868315001899&w=2 Here's the client I'm using for just a typical service with MR RawXMLINOutMessageReceiver . package client; import java.io.StringWriter; import javax.xml.stream.XMLOutputFactory; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; import org.apache.axiom.om.OMNamespace; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.client.ServiceClient; // jira imports import org.apache.axis2.transport.http.HTTPConstants; import org.apache.axis2.Constants; import org.apache.axiom.soap.SOAPEnvelope; import org.apache.axiom.soap.SOAPFactory; import org.apache.axis2.context.MessageContext; import org.apache.axis2.client.OperationClient; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import javax.xml.namespace.QName; import org.apache.axis2.wsdl.WSDLConstants; public class TestCW { /** Access point inside the servlet container. **/ private static EndpointReference targetEPR = new EndpointReference( "http://localhost:8080/axis2/services/SpringAwareService"); /** * Simple axis2 client. * * @param args Main */ public static void main(String[] args) { try { ServiceClient serviceClient = new ServiceClient(); Options options = new Options(); options.setTo(targetEPR); /* code to test close_wait jira axis2-935 */ options.setTransportInProtocol(Constants.TRANSPORT_HTTP); options.setProperty(HTTPConstants.SO_TIMEOUT,1000); options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.FALSE); options.setProperty(HTTPConstants.CONNECTION_TIMEOUT, 5000); MessageContext requetMessageContext = new MessageContext(); requetMessageContext.setEnvelope(getRequestEnvelope()); OperationClient opClient = serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP); opClient.addMessageContext(requetMessageContext); opClient.setOptions(options); /* end extra jira code */ opClient.execute(true); SOAPEnvelope result = opClient.getMessageContext( WSDLConstants.MESSAGE_LABEL_IN_VALUE).getEnvelope(); printResult(result); } catch (Exception ex) { ex.printStackTrace(); } } public static SOAPEnvelope getRequestEnvelope() { SOAPFactory fac = OMAbstractFactory.getSOAP11Factory(); SOAPEnvelope envelope = fac.getDefaultEnvelope(); OMNamespace omNs = fac.createOMNamespace( "http://springExample.org/example1", "example1"); OMElement method = fac.createOMElement("getValue", omNs); OMElement value = fac.createOMElement("Text", omNs); value.addChild(fac.createOMText(value, "Some String ")); method.addChild(value); envelope.getBody().setFirstChild(method); return envelope; } public static void printResult(SOAPEnvelope result) { try { if (result != null) { //OMElement resultOM = result.getBody().getFirstChildWithName(new QName("example1")); OMElement resultOM = result.getBody(); StringWriter writer = new StringWriter(); resultOM.serialize(XMLOutputFactory.newInstance() .createXMLStreamWriter(writer)); writer.flush(); System.out.println("Response: " + writer.toString()); } else System.out.println("Result is null"); } catch (Exception e) { e.printStackTrace(); } } } If there is some way to trigger the issue please comment. > Connections are not properly released causing them to stick in the > "CLOSE_WAIT" state and cause "Too many files open" > --------------------------------------------------------------------------------------------------------------------- > > Key: AXIS2-935 > URL: http://issues.apache.org/jira/browse/AXIS2-935 > Project: Apache Axis 2.0 (Axis2) > Issue Type: Bug > Components: core > Affects Versions: 1.0 > Environment: Weblogic 8.1.2, Solaris 8 (dont ask!) > Reporter: Jeff Peterson > Assigned To: Deepal Jayasinghe > Priority: Blocker > Attachments: AXIS2-935.patch > > > It appears that org.apache.axis2.transport.http.SOAPOverHTTPSender does not > properly cleanup the http post connection after payload has been sent. > The symptoms of this problem show up in `netstat` as literally hundreds of > connections in the "CLOSE_WAIT" state. On a busy server this can cause the > application to report exceptions with the message "Too many open files." > I looked in the source code for axis2 1.0 and discovered that in > SOAPOverHTTPSender.java the releaseConnection() is never called on the > postMethod variable. This seems to be a likely candidate for the source of > the issue. > See SOAPOverHTTPSender.java:97-118 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
