XmlRpcCommonsTransport logs one byte at a time
----------------------------------------------

                 Key: XMLRPC-173
                 URL: https://issues.apache.org/jira/browse/XMLRPC-173
             Project: XML-RPC
          Issue Type: Bug
    Affects Versions: 3.1.2
            Reporter: Brandon DuRette
            Priority: Minor


In XmlRpcCommonsTransport, when the isUsingByteArrayOutput(config) = true 
branch is taken, the resulting logging is nearly impossible to understand, 
because each character (byte actually) is logged in a separate log entry. This 
occurs because the FilterOutputStream's implementation of write( byte[], int, 
int ) and write( byte[] ), just iteratively invoke write( byte ) -- and the 
underlying output stream logs each byte.  

To fix, just add the following overrides to the anonymous FilterOutputStream 
subclass:

                            public void write( byte[] b, int off, int len ) 
throws IOException {
                                // Override to delegate directly -- improves 
performance and helps make log readable.
                                out.write( b, off, len );
                            }
                            public void write( byte[] b ) throws IOException {
                                // Override to delegate directly -- improves 
performance and helps make log readable.
                                out.write( b );
                            }



-- 
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