Uploaded image for project: 'WildFly EJB HTTP Client'
  1. WildFly EJB HTTP Client
  2. WEJBHTTP-112

Close marshalling OutputStream safely in HttpRootContext performOperation() method call

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.0.4.Final
    • 2.0.2.Final
    • None

      In the Naming module, the HttpRootContext is a client side repesentation of the Context being accessed on the server. The HttpRootContext implements each Context method by creating an HTTP request, sending the request to the server, and processing the reply. This activity is encapsulated in the processInvocation(), performWithRetry() and peformOperation() methods. 

      As part of its request processing, performOperation() uses HttpTargetContext.sendRequest() to send the ClientRequest to the server. One variant of performOperation() takes an Object parameter, which is marshalled into the OutputStream using an HttpMarshhaller. 

      This output stream was being closed by calling output.close() and not safely by using IoUtils.safeClose(output). This was resulting in numerous and varied connection related errors during test execution.  

              rachmato@redhat.com Richard Achmatowicz
              rachmato@redhat.com Richard Achmatowicz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: