Thread hangs when processing response message using LocalTransport with 
dispatchDirect
--------------------------------------------------------------------------------------

                 Key: CXF-1245
                 URL: https://issues.apache.org/jira/browse/CXF-1245
             Project: CXF
          Issue Type: Bug
          Components: Transports
    Affects Versions: 2.0.3
            Reporter: Michael Coogan


When running requests on a local transport configured with DISPATCH_DIRECT = 
true, small request/response messages process successfully but any request that 
generates a response > 1KB seems to hang the JVM. The problem appears to be in 
the PipedInput/OutputStreams. If the buffer (default size 1024B) fills up it is 
never flushed and the thread appears to hang in an eternal wait 
(PipedInputStream.awaitSpace())

The PipedInput and PipedOutput Streams are on the same thread and therefore the 
buffer is never cleared until after the stream is closed. Pipes should NEVER be 
used on a single thread. That will definitely cause a hang. Possibly should use 
a CachedOutputStream and then grab the inputstream in the dispatchDirect 
method. 

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

Reply via email to