axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas" <dava...@gmail.com>
Subject Re: [PATCH] Upgrades Synapse NHttp to HttpCore 4.0-ALPHA5-SNAPSHOT, improves logging
Date Mon, 25 Jun 2007 13:19:07 GMT
Ruwan,

Can you please make appropriate changes in axis2 as well?

thanks,
dims

On 6/25/07, Ruwan Linton <ruwan.linton@gmail.com> wrote:
>
>
> On 6/25/07, Oleg Kalnichevski <olegk@apache.org> wrote:
> > On Mon, 2007-06-25 at 11:44 +0530, Ruwan Linton wrote:
> > > Hi Oleg,
> > >
> > > I am done with the performance tests. I think now synapse is a little
> > > bit faster than earlier.
> > >
> > > No issues with the new version and I have applied the patch.
> > >
> > > Thanks,
> > > Ruwan.
> > >
> >
> > Great! Many thanks, Ruwan. We will go ahead with the release.
> >
>
> You are more than welcome. Congratulations for the coming release.
>
> Ruwan.
>
> > Cheers
> >
> > Oleg
> >
> > > On 6/21/07, Oleg Kalnichevski < olegk@apache.org> wrote:
> > >         On Thu, 2007-06-21 at 08:56 +0530, Ruwan Linton wrote:
> > >         > Yes asankha,
> > >         >
> > >         > I will be able to run some load tests and check this.
> > >         >
> > >         > Oleg, I will get back to you ASAP,
> > >         >
> > >         > Thanks,
> > >         > Ruwan.
> > >         >
> > >
> > >         Take it easy, guys. The release can wait.
> > >
> > >         Oleg
> > >
> > >         > On 6/20/07, Asankha C. Perera <asankha@wso2.com> wrote:
> > >         >         Hi Oleg
> > >         >
> > >         >         Sorry for the delay in response. I will run this
> > >         through some
> > >         >         load tests and get back to you soon. I will be
> > >         traveling next
> > >         >         week, and thus if I am unable to perform this on
> > >         time, I will
> > >         >         check if Ruwan would be able to get back to you by
> > >         early next
> > >         >         week.
> > >         >
> > >         >         thanks
> > >         >         asankha
> > >         >
> > >         >         Oleg Kalnichevski wrote:
> > >         >         > Hi Asankha
> > >         >         >
> > >         >         > I am submitting for your consideration a patch
> > >         that upgrades Synapse
> > >         >         > NHttp transport to HttpCore 4.0-ALPHA5-SNAPSHOT
> > >         and adds some
> > >         >         > incremental improvements to the I/O debug logging
> > >         (such as prettier I/O
> > >         >         >
> > >         >         > session logs and optional HTTP header logs)
> > >         >         >
> > >         >         > All tests pass for me, but please do run a few
> > >         stress tests to make sure
> > >         >         > there are no regressions.
> > >         >         >
> > >         >         > Provided everything goes well HttpCore 4.0-ALPHA5
> > >         release is expected
> > >         >         >
> > >         >         > within the next two weeks.
> > >         >         >
> > >         >         > Cheers
> > >         >         >
> > >         >         > Oleg
> > >         >         >
> > >         >         >
> > >         >         >
> > >
> ____________________________________________________________
> > >         >         >
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/Axis2HttpRequest.java
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/Axis2HttpRequest.java
>        (revision 548631)
> > >         >         >
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/Axis2HttpRequest.java
>        (working copy)
> > >         >         > @@ -26,17 +26,15 @@
> > >         >         >  import
> > >         org.apache.axis2.transport.MessageFormatter ;
> > >         >         >  import
> org.apache.axis2.transport.TransportUtils
> > >         >         > ;
> > >         >         >  import org.apache.http.* ;
> > >         >         > +import
> > >
> org.apache.http.message.BasicHttpEntityEnclosingRequest
> ;
> > >         >         >  import org.apache.http.protocol.HTTP;
> > >         >         >  import
> org.apache.http.entity.BasicHttpEntity;
> > >         >         > -import
> org.apache.http.message.HttpPost
> > >         >         > ;
> > >         >         >  import
> org.apache.axiom.om.OMOutputFormat ;
> > >         >         >  import org.apache.commons.logging.Log;
> > >         >         >  import
> org.apache.commons.logging.LogFactory;
> > >         >         >
> > >         >         > -import
> javax.xml.stream.XMLStreamException ;
> > >         >         >  import java.io.IOException
> > >         >         > ;
> > >         >         >  import java.io.OutputStream;
> > >         >         > -import java.nio.channels.Pipe;
> > >         >         >  import java.nio.channels.Channels ;
> > >         >         >  import
> java.nio.channels.ReadableByteChannel;
> > >         >         >  import java.util.Map ;
> > >         >         > @@ -98,7 +96,9 @@
> > >         >         >       * @return the HttpRequest to be sent out
> > >         >         >
> > >         >         >       */
> > >         >         >      public HttpRequest getRequest() throws
> > >         IOException {
> > >         >         > -        HttpPost httpRequest = new
> > >         HttpPost(epr.getAddress());
> > >         >         > +        HttpEntityEnclosingRequest
> httpRequest =
> > >         new BasicHttpEntityEnclosingRequest(
> > >         >         >
> > >         >         > +                "POST",
> > >         >         > +                epr.getAddress ());
> > >         >         >          httpRequest.setEntity(new
> > >         BasicHttpEntity());
> > >         >         >
> > >         >         >          // set any transport headers
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpClientHandler.java
> > >         >         >
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpClientHandler.java
>       (revision 548631)
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpClientHandler.java
>       (working copy)
> > >         >         >
> > >         >         > @@ -22,6 +22,7 @@
> > >         >         >
> > >         >         >  import org.apache.commons.logging.Log;
> > >         >         >  import
> org.apache.commons.logging.LogFactory;
> > >         >         > +import org.apache.http.Header;
> > >         >         >  import org.apache.http.HttpException;
> > >         >         >  import org.apache.http.HttpResponse
> > >         >         > ;
> > >         >         >  import
> org.apache.http.nio.ContentDecoder ;
> > >         >         > @@ -36,6 +37,7 @@
> > >         >         >  public class LoggingNHttpClientHandler implements
> > >         NHttpClientHandler {
> > >         >         >
> > >         >         >      private final Log log;
> > >         >         > +    private final Log headerlog;
> > >         >         >
> > >         >         >      private final NHttpClientHandler handler;
> > >         >         >
> > >         >         >      public LoggingNHttpClientHandler(final
> > >         NHttpClientHandler handler) {
> > >         >         > @@ -45,6 +47,7 @@
> > >         >         >          }
> > >         >         >          this.handler = handler;
> > >         >         >          this.log
> > >         >         >  = LogFactory.getLog(handler.getClass());
> > >         >         > +        this.headerlog =
> > >
> LogFactory.getLog("org.apache.axis2.transport.nhttp.headers");
> > >         >         >      }
> > >         >         >
> > >         >         >      public void connected(final
> > >         NHttpClientConnection conn, final Object attachment) {
> > >         >         >
> > >         >         > @@ -89,11 +92,18 @@
> > >         >         >      }
> > >         >         >
> > >         >         >      public void responseReceived(final
> > >         NHttpClientConnection conn) {
> > >         >         > +        HttpResponse response =
> > >         conn.getHttpResponse();
> > >         >         >          if (this.log.isDebugEnabled()) {
> > >         >         > -            HttpResponse response =
> > >         >         > conn.getHttpResponse();
> > >         >         >               this.log.debug("HTTP connection " +
> > >         conn + ": " + response.getStatusLine());
> > >         >         >          }
> > >         >         >          this.handler.responseReceived(conn);
> > >         >         > +        if ( this.headerlog.isDebugEnabled
> > >         >         > ()) {
> > >         >         > +             this.headerlog.debug("<< " +
> > >         response.getStatusLine().toString());
> > >         >         > +            Header[] headers =
> > >         response.getAllHeaders();
> > >         >         > +            for (int i = 0; i < headers.length;
i
> > >         ++) {
> > >         >         >
> > >         >         > +                this.headerlog.debug("<< "
+
> > >         headers[i].toString());
> > >         >         > +            }
> > >         >         > +        }
> > >         >         >      }
> > >         >         >
> > >         >         >      public void inputReady(final
> > >         NHttpClientConnection conn, final ContentDecoder decoder) {
> > >         >         >
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/SSLServerIOEventDispatch.java
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/SSLServerIOEventDispatch.java
>        (revision 548631)
> > >         >         >
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/SSLServerIOEventDispatch.java
>        (working copy)
> > >         >         > @@ -31,6 +31,7 @@
> > >         >         >  import
> org.apache.http.nio.NHttpServiceHandler ;
> > >         >         >  import
> > >         org.apache.http.nio.reactor.IOEventDispatch
> > >         >         > ;
> > >         >         >  import
> org.apache.http.nio.reactor.IOSession;
> > >         >         > +import
> > >
> org.apache.http.nio.util.HeapByteBufferAllocator;
> > >         >         >  import
> org.apache.http.params.HttpParams;
> > >         >         >
> > >         >         >  public class SSLServerIOEventDispatch implements
> > >         IOEventDispatch {
> > >         >         >
> > >         >         > @@ -81,6 +82,7 @@
> > >         >         >
> DefaultNHttpServerConnection conn = new
> > >         DefaultNHttpServerConnection(
> > >         >         >                  new
> > >         LoggingIOSession(sslSession),
> > >         >         >                  new DefaultHttpRequestFactory(),
> > >         >         > +                new HeapByteBufferAllocator(),
> > >         >         >
> > >         >         >                  this.params);
> > >         >         >
> > >         >         >          session.setAttribute(NHTTP_CONN, conn);
> > >         >         > @@ -89,7 +91,7 @@
> > >         >         >          this.handler.connected(conn);
> > >         >         >
> > >         >         >          try {
> > >         >         > -            sslSession.initialize
> > >         >         > (SSLMode.SERVER, this.params);
> > >         >         > +            sslSession.bind(SSLMode.SERVER,
> > >         this.params);
> > >         >         >          } catch (SSLException ex) {
> > >         >         >              this.handler.exception(conn, ex);
> > >         >         >              sslSession.shutdown();
> > >         >         >
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/PlainServerIOEventDispatch.java
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/PlainServerIOEventDispatch.java
>      (revision 548631)
> > >         >         >
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/PlainServerIOEventDispatch.java
>      (working copy)
> > >         >         > @@ -23,6 +23,7 @@
> > >         >         >  import
> org.apache.http.nio.NHttpServiceHandler ;
> > >         >         >  import
> > >         org.apache.http.nio.reactor.IOEventDispatch
> > >         >         > ;
> > >         >         >  import
> org.apache.http.nio.reactor.IOSession;
> > >         >         > +import
> > >
> org.apache.http.nio.util.HeapByteBufferAllocator ;
> > >         >         >  import
> org.apache.http.params.HttpParams;
> > >         >         >
> > >         >         >  public class PlainServerIOEventDispatch
> > >         implements IOEventDispatch {
> > >         >         >
> > >         >         > @@ -47,9 +48,10 @@
> > >         >         >
> > >         >         >      public void connected(final IOSession
> > >         session) {
> > >         >         >          // Decorate I/O session with logging
> > >         capabilities
> > >         >         > -
> DefaultNHttpServerConnection conn = new
> > >         DefaultNHttpServerConnection(
> > >         >         >
> > >         >         > +
> LoggingNHttpServerConnection conn = new
> > >         LoggingNHttpServerConnection(
> > >         >         >                  new LoggingIOSession(session),
> > >         >         >                  new DefaultHttpRequestFactory(),
> > >         >         > +                new HeapByteBufferAllocator(),
> > >         >         >
> > >         >         >                   this.params);
> > >         >         >          session.setAttribute(NHTTP_CONN, conn);
> > >         >         >           this.handler.connected(conn);
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/SSLClientIOEventDispatch.java
> > >         >         >
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/SSLClientIOEventDispatch.java
>        (revision 548631)
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/SSLClientIOEventDispatch.java
>        (working copy)
> > >         >         >
> > >         >         > @@ -31,6 +31,7 @@
> > >         >         >  import
> org.apache.http.nio.NHttpClientHandler;
> > >         >         >  import
> > >         org.apache.http.nio.reactor.IOEventDispatch;
> > >         >         >  import
> org.apache.http.nio.reactor.IOSession;
> > >         >         > +import
> > >
> org.apache.http.nio.util.HeapByteBufferAllocator
> > >         >         > ;
> > >         >         >  import
> org.apache.http.params.HttpParams;
> > >         >         >
> > >         >         >  public class SSLClientIOEventDispatch implements
> > >         IOEventDispatch {
> > >         >         > @@ -81,6 +82,7 @@
> > >         >         >
> DefaultNHttpClientConnection conn = new
> > >         DefaultNHttpClientConnection(
> > >         >         >
> > >         >         >                  new LoggingIOSession(sslSession),
> > >         >         >                  new DefaultHttpResponseFactory(),
> > >         >         > +                new HeapByteBufferAllocator(),
> > >         >         >                  this.params );
> > >         >         >
> > >         >         >
> > >         >         > session.setAttribute(NHTTP_CONN, conn);
> > >         >         > @@ -90,7 +92,7 @@
> > >         >         >           this.handler.connected(conn,
> > >         attachment);
> > >         >         >
> > >         >         >          try {
> > >         >         > -            sslSession.initialize(SSLMode.CLIENT
,
> > >         this.params);
> > >         >         > +
> > >         >         > sslSession.bind(SSLMode.CLIENT, this.params);
> > >         >         >          } catch (SSLException ex) {
> > >         >         >              this.handler.exception(conn, ex);
> > >         >         >              sslSession.shutdown ();
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpServerConnection.java
> > >         >         >
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpServerConnection.java
>    (revision 0)
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpServerConnection.java
>    (revision 0)
> > >         >         >
> > >         >         > @@ -0,0 +1,76 @@
> > >         >         > +/*
> > >         >         > + * $HeadURL$
> > >         >         > + * $Revision$
> > >         >         > + * $Date$
> > >         >         > + *
> > >         >         > + *
> > >
> ====================================================================
> > >         >         > + * Licensed to the Apache Software Foundation
> > >         (ASF) under one
> > >         >         >
> > >         >         > + * or more contributor license agreements.  See
> > >         the NOTICE file
> > >         >         > + * distributed with this work for additional
> > >         information
> > >         >         > + * regarding copyright ownership.  The ASF
> > >         licenses this file
> > >         >         > + * to you under the Apache License, Version
> > >         >         > 2.0 (the
> > >         >         > + * "License"); you may not use this file except
> > >         in compliance
> > >         >         > + * with the License.  You may obtain a copy of
> > >         the License at
> > >         >         > + *
> > >         >         > + *
> > >         >         >
> http://www.apache.org/licenses/LICENSE-2.0
> > >         >         > + *
> > >         >         > + * Unless required by applicable law or agreed to
> > >         in writing,
> > >         >         > + * software distributed under the License is
> > >         distributed on an
> > >         >         > + * "AS IS" BASIS, WITHOUT WARRANTIES OR
> > >         CONDITIONS OF ANY
> > >         >         > + * KIND, either express or implied.  See the
> > >         License for the
> > >         >         > + * specific language governing permissions and
> > >         limitations
> > >         >         > + * under the License.
> > >         >         > + *
> > >
> ====================================================================
> > >         >         > + *
> > >         >         > + * This software consists of voluntary
> > >         contributions made by many
> > >         >         > + * individuals on behalf of the Apache Software
> > >         Foundation.  For more
> > >         >         >
> > >         >         > + * information on the Apache Software Foundation,
> > >         please see
> > >         >         > + * <http://www.apache.org/>.
> > >         >         > + *
> > >         >         >
> > >         >         > + */
> > >         >         > +
> > >         >         > +package
> org.apache.axis2.transport.nhttp;
> > >         >         > +
> > >         >         > +import java.io.IOException;
> > >         >         > +
> > >         >         > +import org.apache.commons.logging.Log;
> > >         >         > +import
> org.apache.commons.logging.LogFactory;
> > >         >         > +import org.apache.http.Header
> > >         >         > ;
> > >         >         > +import org.apache.http.HttpException ;
> > >         >         > +import
> org.apache.http.HttpRequestFactory;
> > >         >         > +import org.apache.http.HttpResponse;
> > >         >         > +import
> > >
> org.apache.http.impl.nio.DefaultNHttpServerConnection;
> > >         >         > +import
> org.apache.http.nio.reactor.IOSession
> > >         >         > ;
> > >         >         > +import
> > >         org.apache.http.nio.util.ByteBufferAllocator;
> > >         >         > +import
> org.apache.http.params.HttpParams;
> > >         >         > +
> > >         >         > +public class LoggingNHttpServerConnection extends
> > >         DefaultNHttpServerConnection {
> > >         >         > +
> > >         >         > +    private final Log log;
> > >         >         >
> > >         >         > +    private final Log headerlog;
> > >         >         > +
> > >         >         > +    public LoggingNHttpServerConnection(
> > >         >         > +            final IOSession session,
> > >         >         > +            final HttpRequestFactory
> > >         requestFactory,
> > >         >         > +            final ByteBufferAllocator allocator,
> > >         >         >
> > >         >         > +            final HttpParams params) {
> > >         >         > +        super(session, requestFactory, allocator,
> > >         params);
> > >         >         > +         this.log =
> > >
> LogFactory.getLog(DefaultNHttpServerConnection.class);
> > >         >         > +        this.headerlog = LogFactory.getLog
> > >         >         >
> ("org.apache.axis2.transport.nhttp.headers ");
> > >         >         > +    }
> > >         >         > +
> > >         >         > +    public void submitResponse(final HttpResponse
> > >         response) throws IOException, HttpException {
> > >         >         > +        if (this.log.isDebugEnabled ()) {
> > >         >         > +
> > >         >         > this.log.debug("HTTP connection " + this + ": " 
+
> > >         response.getStatusLine().toString());
> > >         >         > +        }
> > >         >         > +         super.submitResponse(response);
> > >         >         > +        if (this.headerlog.isDebugEnabled ()) {
> > >         >         >
> > >         >         > +            this.headerlog.debug("<< " +
> > >         response.getStatusLine ().toString());
> > >         >         > +            Header[] headers =
> > >         response.getAllHeaders();
> > >         >         > +            for (int i = 0; i < headers.length;
i
> > >         ++) {
> > >         >         >
> > >         >         > +                 this.headerlog.debug("<<
" +
> > >         headers[i].toString());
> > >         >         > +            }
> > >         >         > +        }
> > >         >         > +    }
> > >         >         > +
> > >         >         > +}
> > >         >         > \ No newline at end of file
> > >         >         >
> > >         >         > Property changes on:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpServerConnection.java
> > >         >         >
> > >         >         >
> > >
> ___________________________________________________________________
> > >         >         > Name: svn:mime-type
> > >         >         >    + text/plain
> > >         >         > Name: svn:keywords
> > >         >         >    + Date Author Id Revision HeadURL
> > >         >         > Name: svn:eol-style
> > >         >         >    + native
> > >         >         >
> > >         >         >
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/ClientHandler.java
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/ClientHandler.java
>   (revision 548631)
> > >         >         >
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/ClientHandler.java
>   (working copy)
> > >         >         > @@ -23,6 +23,7 @@
> > >         >         >  import
> org.apache.http.nio.ContentDecoder;
> > >         >         >  import
> org.apache.http.nio.ContentEncoder;
> > >         >         >  import
> org.apache.http.params.HttpParams
> > >         >         > ;
> > >         >         > +import
> org.apache.http.params.HttpParamsLinker;
> > >         >         >  import org.apache.http.*;
> > >         >         >  import
> org.apache.http.entity.BasicHttpEntity;
> > >         >         >  import
> > >
> org.apache.http.impl.DefaultConnectionReuseStrategy;
> > >         >         > @@ -30,7 +31,6 @@
> > >         >         >
> > >         >         >  import
> > >         org.apache.axis2.context.ConfigurationContext;
> > >         >         >  import
> org.apache.axis2.context.MessageContext ;
> > >         >         >  import
> > >         org.apache.axis2.transport.nhttp.util.PipeImpl;
> > >         >         > -import
> > >
> org.apache.axis2.transport.nhttp.util.NativeWorkerPool
> > >         >         > ;
> > >         >         >  import
> > >
> org.apache.axis2.transport.nhttp.util.WorkerPool ;
> > >         >         >  import
> > >
> org.apache.axis2.transport.nhttp.util.WorkerPoolFactory;
> > >         >         >  import
> > >         org.apache.axis2.description.WSDL2Constants;
> > >         >         > @@ -124,7 +124,7 @@
> > >         >         >
> > >         >         > context.setAttribute(REQUEST_SOURCE_CHANNEL,
> > >         axis2Req.getSourceChannel());
> > >         >         >
> > >         >         >              HttpRequest request =
> > >         axis2Req.getRequest();
> > >         >         > -
> > >         request.getParams().setDefaults(this.params);
> > >         >         > +            HttpParamsLinker.link
> > >         >         > (request, this.params);
> > >         >         >               this.httpProcessor.process(request,
> > >         context);
> > >         >         >
> > >         >         >              conn.submitRequest(request);
> > >         >         > @@ -158,7 +158,7 @@
> > >         >
> > >         >              context.setAttribute(REQUEST_SOURCE_CHANNEL,
> > >         axis2Req.getSourceChannel
> > >         >         > ());
> > >         >         >
> > >         >         >              HttpRequest request =
> > >         axis2Req.getRequest();
> > >         >         >
> > >         -            request.getParams().setDefaults(this.params);
> > >         >         > +             HttpParamsLinker.link(request,
> > >         this.params);
> > >         >         >              this.httpProcessor.process
> > >         >         > (request, context);
> > >         >         >
> > >         >         >               conn.submitRequest(request);
> > >         >         > @@ -243,7 +243,6 @@
> > >         >         >       */
> > >         >         >      public void outputReady(final
> > >         NHttpClientConnection conn, final ContentEncoder encoder) {
> > >         >         >          HttpContext context =
> > >         >         > conn.getContext();
> > >         >         > -        HttpResponse response =
> > >         conn.getHttpResponse ();
> > >         >         >
> > >         >         >          ReadableByteChannel source =
> > >         (ReadableByteChannel)
> > >         context.getAttribute(REQUEST_SOURCE_CHANNEL);
> > >         >         >          ByteBuffer outbuf = (ByteBuffer)
> > >         >         > context.getAttribute(RESPONSE_BUFFER);
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/PlainClientIOEventDispatch.java
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/PlainClientIOEventDispatch.java
>      (revision 548631)
> > >         >         >
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/PlainClientIOEventDispatch.java
>      (working copy)
> > >         >         > @@ -23,6 +23,7 @@
> > >         >         >  import
> org.apache.http.nio.NHttpClientHandler ;
> > >         >         >  import
> > >         org.apache.http.nio.reactor.IOEventDispatch
> > >         >         > ;
> > >         >         >  import
> org.apache.http.nio.reactor.IOSession;
> > >         >         > +import
> > >
> org.apache.http.nio.util.HeapByteBufferAllocator ;
> > >         >         >  import
> org.apache.http.params.HttpParams;
> > >         >         >
> > >         >         >  public class PlainClientIOEventDispatch
> > >         implements IOEventDispatch {
> > >         >         >
> > >         >         > @@ -47,9 +48,10 @@
> > >         >         >
> > >         >         >      public void connected(final IOSession
> > >         session) {
> > >         >         >          // Decorate I/O session with logging
> > >         capabilities
> > >         >         > -
> DefaultNHttpClientConnection conn = new
> > >         DefaultNHttpClientConnection(
> > >         >         >
> > >         >         > +
> LoggingNHttpClientConnection conn = new
> > >         LoggingNHttpClientConnection(
> > >         >         >                  new LoggingIOSession(session),
> > >         >         >                  new
> > >         DefaultHttpResponseFactory(),
> > >         >         > +                new HeapByteBufferAllocator(),
> > >         >         >
> > >         >         >                  this.params);
> > >         >         >           session.setAttribute(NHTTP_CONN, conn);
> > >         >         >
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingIOSession.java
> > >         >         >
> > >
> ===================================================================
> > >         >         >
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingIOSession.java
>        (revision 548631)
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingIOSession.java
>        (working copy)
> > >         >         > @@ -22,6 +22,7 @@
> > >         >         >  import
> > >         >         > java.net.SocketAddress ;
> > >         >         >  import java.nio.ByteBuffer;
> > >         >         >  import java.nio.channels.ByteChannel;
> > >         >         > +import java.nio.channels.SelectionKey;
> > >         >         >
> > >         >         >  import org.apache.commons.logging.Log;
> > >         >         >  import
> org.apache.commons.logging.LogFactory
> > >         >         > ;
> > >         >         > @@ -68,10 +69,29 @@
> > >         >         >          return this.session.getEventMask ();
> > >         >         >      }
> > >         >         >
> > >         >         > +    private static String formatOps(int ops) {
> > >         >         > +        StringBuffer buffer = new
> > >         StringBuffer(6);
> > >         >         > +         buffer.append('[');
> > >         >         >
> > >         >         > +        if ((ops & SelectionKey.OP_READ) >
0) {
> > >         >         > +            buffer.append('r');
> > >         >         > +        }
> > >         >         > +        if ((ops & SelectionKey.OP_WRITE) >
0) {
> > >         >         > +            buffer.append('w');
> > >         >         >
> > >         >         > +        }
> > >         >         > +        if ((ops & SelectionKey.OP_ACCEPT) >
0) {
> > >         >         > +            buffer.append('a');
> > >         >         > +        }
> > >         >         > +        if ((ops & SelectionKey.OP_CONNECT)
> 0)
> > >         {
> > >         >         > +             buffer.append
> > >         >         > ('c');
> > >         >         > +        }
> > >         >         > +        buffer.append(']');
> > >         >         > +        return buffer.toString();
> > >         >         > +    }
> > >         >         > +
> > >         >         >      public void setEventMask(int ops) {
> > >         >         >          if (this.log.isDebugEnabled()) {
> > >         >         >
> > >         >         > this.log.debug("I/O session " + this.id + " " +
> > >         this.session + ": Set event mask "
> > >         >         > -                    + ops);
> > >         >         >
> > >         >         > +                    + formatOps(ops));
> > >         >         >          }
> > >         >         >          this.session.setEventMask (ops);
> > >         >         >      }
> > >         >         > @@ -79,7 +99,7 @@
> > >         >         >      public void setEvent(int op) {
> > >         >         >          if (this.log.isDebugEnabled ()) {
> > >         >         >
> > >         >         > this.log.debug("I/O session " + this.id + " " +
> > >         this.session + ": Set event "
> > >         >         > -                    + op);
> > >         >         >
> > >         >         > +                    + formatOps(op));
> > >         >         >          }
> > >         >         >           this.session.setEvent(op);
> > >         >         >      }
> > >         >         > @@ -87,7 +107,7 @@
> > >         >         >      public void clearEvent(int op) {
> > >         >         >          if ( this.log.isDebugEnabled()) {
> > >         >         >
> > >         >         > this.log.debug("I/O session " + this.id + " " +
> > >         this.session + ": Clear event "
> > >         >         > -                    + op);
> > >         >         >
> > >         >         > +                    + formatOps(op));
> > >         >         >          }
> > >         >         >          this.session.clearEvent(op);
> > >         >         >      }
> > >         >         > @@ -103,6 +123,13 @@
> > >         >         >          return this.session.isClosed ();
> > >         >         >      }
> > >         >         >
> > >         >         > +    public void shutdown() {
> > >         >         >
> > >         >         > +        if ( this.log.isDebugEnabled()) {
> > >         >         > +            this.log.debug ("I/O session " +
> > >         this.id + " " +
> > >         >         > this.session + ": Shutdown");
> > >         >         > +        }
> > >         >         > +        this.session.shutdown ();
> > >         >         > +    }
> > >         >         > +
> > >         >         >      public int getSocketTimeout() {
> > >         >         >          return this.session.getSocketTimeout();
> > >         >         >      }
> > >         >         > Index:
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpServiceHandler.java
> > >         >         >
> > >         >         >
> > >
> ===================================================================
> > >         >         > ---
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpServiceHandler.java
>      (revision 548631)
> > >         >         > +++
> > >
> modules/nhttp/src/org/apache/axis2/transport/nhttp/LoggingNHttpServiceHandler.java
>      (working copy)
> > >         >         >
> > >         >         > @@ -22,6 +22,7 @@
> > >         >         >
> > >         >         >  import org.apache.commons.logging.Log;
> > >         >         >  import
> org.apache.commons.logging.LogFactory;
> > >         >         > +import org.apache.http.Header;
> > >         >         >  import org.apache.http.HttpException;
> > >         >         >  import org.apache.http.HttpRequest
> > >         >         > ;
> > >         >         >  import
> org.apache.http.nio.ContentDecoder;
> > >         >         > @@ -36,6 +37,7 @@
> > >         >         >  public class LoggingNHttpServiceHandler
> > >         implements NHttpServiceHandler {
> > >         >         >
> > >         >         >      private final Log log;
> > >         >         > +    private final Log headerlog;
> > >         >         >
> > >         >         >      private final NHttpServiceHandler handler;
> > >         >         >
> > >         >         >      public
> LoggingNHttpServiceHandler(final
> > >         NHttpServiceHandler handler) {
> > >         >         > @@ -45,6 +47,7 @@
> > >         >         >          }
> > >         >         >          this.handler = hand
> ...
>
> [Message clipped]


-- 
Davanum Srinivas :: http://davanum.wordpress.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message