cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ol...@apache.org
Subject svn commit: r1369567 - /cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/
Date Sun, 05 Aug 2012 12:49:41 GMT
Author: olegk
Date: Sun Aug  5 12:49:41 2012
New Revision: 1369567

URL: http://svn.apache.org/viewvc?rev=1369567&view=rev
Log:
Basic support for SSL connections; custom connection manager (presently just a logging facade
around BasicNIOConnPool)

Added:
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnection.java
      - copied, changed from r1369328, cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingNHttpClientConnection.java
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java
  (with props)
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java
  (with props)
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java
  (with props)
Removed:
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingNHttpClientConnection.java
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingNHttpClientConnectionFactory.java
Modified:
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPTransportFactory.java
    cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingIOSession.java

Modified: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPTransportFactory.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPTransportFactory.java?rev=1369567&r1=1369566&r2=1369567&view=diff
==============================================================================
--- cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPTransportFactory.java
(original)
+++ cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPTransportFactory.java
Sun Aug  5 12:49:41 2012
@@ -37,6 +37,7 @@ import org.apache.cxf.transport.http.HTT
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
 import org.apache.http.impl.DefaultConnectionReuseStrategy;
 import org.apache.http.impl.nio.DefaultHttpClientIODispatch;
+import org.apache.http.impl.nio.pool.BasicNIOConnFactory;
 import org.apache.http.impl.nio.pool.BasicNIOConnPool;
 import org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor;
 import org.apache.http.impl.nio.reactor.IOReactorConfig;
@@ -117,15 +118,19 @@ public class AsyncHTTPTransportFactory e
         // Create client-side HTTP protocol handler
         HttpAsyncRequestExecutor protocolHandler = new HttpAsyncRequestExecutor();
         // Create client-side I/O event dispatch
-        final LoggingNHttpClientConnectionFactory connFactory = new LoggingNHttpClientConnectionFactory(params);
-        final IOEventDispatch ioEventDispatch = new DefaultHttpClientIODispatch(protocolHandler,
connFactory);
+        final CXFPlainConnectionFactory plainConnFactory = new CXFPlainConnectionFactory(params);
+        final CXFSSLConnectionFactory sslConnFactory = new CXFSSLConnectionFactory(params);
+        final IOEventDispatch ioEventDispatch = new DefaultHttpClientIODispatch(protocolHandler,

+                plainConnFactory);
         // Create client-side I/O reactor
         IOReactorConfig config = new IOReactorConfig();
         config.setTcpNoDelay(true);
         
         final ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(config);
         // Create HTTP connection pool
-        pool = new BasicNIOConnPool(ioReactor, connFactory, params);
+        BasicNIOConnFactory poolConnFactory = new BasicNIOConnFactory(
+                plainConnFactory, sslConnFactory);
+        pool = new BasicNIOConnPool(ioReactor, poolConnFactory, params);
         pool.setDefaultMaxPerRoute(1000);
         pool.setMaxTotal(5000);
 

Copied: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnection.java
(from r1369328, cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingNHttpClientConnection.java)
URL: http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnection.java?p2=cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnection.java&p1=cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingNHttpClientConnection.java&r1=1369328&r2=1369567&rev=1369567&view=diff
==============================================================================
--- cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingNHttpClientConnection.java
(original)
+++ cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnection.java
Sun Aug  5 12:49:41 2012
@@ -35,7 +35,7 @@ import org.apache.http.params.HttpParams
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class LoggingNHttpClientConnection extends DefaultNHttpClientConnection {
+class CXFConnection extends DefaultNHttpClientConnection {
 
     private static final AtomicLong COUNT = new AtomicLong();
 
@@ -46,7 +46,7 @@ public class LoggingNHttpClientConnectio
 
     private final String id;
 
-    public LoggingNHttpClientConnection(
+    public CXFConnection(
             final IOSession session,
             final HttpResponseFactory responseFactory,
             final ByteBufferAllocator allocator,

Added: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java?rev=1369567&view=auto
==============================================================================
--- cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java
(added)
+++ cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java
Sun Aug  5 12:49:41 2012
@@ -0,0 +1,235 @@
+/**
+ * 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.
+ */
+
+package org.apache.cxf.transport.http.asyncclient;
+
+import java.io.IOException;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.http.HttpHost;
+import org.apache.http.concurrent.BasicFuture;
+import org.apache.http.concurrent.FutureCallback;
+import org.apache.http.impl.nio.pool.BasicNIOConnPool;
+import org.apache.http.impl.nio.pool.BasicNIOPoolEntry;
+import org.apache.http.nio.NHttpClientConnection;
+import org.apache.http.nio.pool.NIOConnFactory;
+import org.apache.http.nio.reactor.ConnectingIOReactor;
+import org.apache.http.nio.reactor.IOEventDispatch;
+import org.apache.http.nio.reactor.IOReactorStatus;
+import org.apache.http.params.HttpParams;
+import org.apache.http.pool.PoolStats;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CXFConnectionManager {
+
+    private static final Logger LOG = LoggerFactory.getLogger(BasicNIOConnPool.class);
+    
+    private final ConnectingIOReactor ioreactor;
+    private final BasicNIOConnPool pool;
+
+    public CXFConnectionManager(
+            final ConnectingIOReactor ioreactor,
+            final NIOConnFactory<HttpHost, NHttpClientConnection> connFactory,
+            final long timeToLive, 
+            final TimeUnit tunit,
+            final HttpParams params) {
+        super();
+        this.ioreactor = ioreactor;
+        this.pool = new BasicNIOConnPool(ioreactor, connFactory, params);
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            shutdown();
+        } finally {
+            super.finalize();
+        }
+    }
+
+    public void execute(final IOEventDispatch eventDispatch) throws IOException {
+        this.ioreactor.execute(eventDispatch);
+    }
+
+    public IOReactorStatus getStatus() {
+        return this.ioreactor.getStatus();
+    }
+
+    public void shutdown(long waitMs) throws IOException {
+        LOG.debug("Connection manager is shutting down");
+        this.pool.shutdown(waitMs);
+        LOG.debug("Connection manager shut down");
+    }
+
+    public void shutdown() throws IOException {
+        LOG.debug("Connection manager is shutting down");
+        this.pool.shutdown(2000);
+        LOG.debug("Connection manager shut down");
+    }
+
+    private String format(final HttpHost route, final Object state) {
+        StringBuilder buf = new StringBuilder();
+        buf.append("[route: ").append(route).append("]");
+        if (state != null) {
+            buf.append("[state: ").append(state).append("]");
+        }
+        return buf.toString();
+    }
+
+    private String formatStats(final HttpHost route) {
+        StringBuilder buf = new StringBuilder();
+        PoolStats totals = this.pool.getTotalStats();
+        PoolStats stats = this.pool.getStats(route);
+        buf.append("[total kept alive: ").append(totals.getAvailable()).append("; ");
+        buf.append("route allocated: ").append(stats.getLeased() + stats.getAvailable());
+        buf.append(" of ").append(stats.getMax()).append("; ");
+        buf.append("total allocated: ").append(totals.getLeased() + totals.getAvailable());
+        buf.append(" of ").append(totals.getMax()).append("]");
+        return buf.toString();
+    }
+
+    private String format(final BasicNIOPoolEntry entry) {
+        StringBuilder buf = new StringBuilder();
+        buf.append("[id: ").append(entry.getId()).append("]");
+        buf.append("[route: ").append(entry.getRoute()).append("]");
+        Object state = entry.getState();
+        if (state != null) {
+            buf.append("[state: ").append(state).append("]");
+        }
+        return buf.toString();
+    }
+
+    public Future<BasicNIOPoolEntry> leaseConnection(
+            final HttpHost route,
+            final Object state,
+            final long connectTimeout,
+            final TimeUnit tunit,
+            final FutureCallback<BasicNIOPoolEntry> callback) {
+        if (route == null) {
+            throw new IllegalArgumentException("HTTP route may not be null");
+        }
+        if (tunit == null) {
+            throw new IllegalArgumentException("Time unit may not be null");
+        }
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Connection request: " + format(route, state) + formatStats(route));
+        }
+        BasicFuture<BasicNIOPoolEntry> future = new BasicFuture<BasicNIOPoolEntry>(callback);
+        this.pool.lease(route, state, connectTimeout, tunit, new InternalPoolEntryCallback(future));
+        return future;
+    }
+
+    public void releaseConnection(
+            final BasicNIOPoolEntry entry,
+            final long keepalive,
+            final TimeUnit tunit) {
+        if (entry == null) {
+            throw new IllegalArgumentException("Pool entry may not be null");
+        }
+        if (tunit == null) {
+            throw new IllegalArgumentException("Time unit may not be null");
+        }
+        if (this.pool.isShutdown()) {
+            return;
+        }
+        this.pool.release(entry, !entry.isClosed());
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Connection released: " + format(entry) + formatStats(entry.getRoute()));
+        }
+    }
+
+    public PoolStats getTotalStats() {
+        return this.pool.getTotalStats();
+    }
+
+    public PoolStats getStats(final HttpHost route) {
+        return this.pool.getStats(route);
+    }
+
+    public void setMaxTotal(int max) {
+        this.pool.setMaxTotal(max);
+    }
+
+    public void setDefaultMaxPerRoute(int max) {
+        this.pool.setDefaultMaxPerRoute(max);
+    }
+
+    public void setMaxPerRoute(final HttpHost route, int max) {
+        this.pool.setMaxPerRoute(route, max);
+    }
+
+    public int getMaxTotal() {
+        return this.pool.getMaxTotal();
+    }
+
+    public int getDefaultMaxPerRoute() {
+        return this.pool.getDefaultMaxPerRoute();
+    }
+
+    public int getMaxPerRoute(final HttpHost route) {
+        return this.pool.getMaxPerRoute(route);
+    }
+
+    public void closeIdleConnections(long idleTimeout, final TimeUnit tunit) {
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Closing connections idle longer than " + idleTimeout + " " + tunit);
+        }
+        this.pool.closeIdle(idleTimeout, tunit);
+    }
+
+    public void closeExpiredConnections() {
+        LOG.debug("Closing expired connections");
+        this.pool.closeExpired();
+    }
+
+    class InternalPoolEntryCallback implements FutureCallback<BasicNIOPoolEntry> {
+
+        private final BasicFuture<BasicNIOPoolEntry> future;
+
+        public InternalPoolEntryCallback(final BasicFuture<BasicNIOPoolEntry> future)
{
+            super();
+            this.future = future;
+        }
+
+        public void completed(final BasicNIOPoolEntry entry) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Connection leased: " + format(entry) + formatStats(entry.getRoute()));
+            }
+            if (!this.future.completed(entry)) {
+                pool.release(entry, true);
+            }
+        }
+
+        public void failed(final Exception ex) {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Connection request failed", ex);
+            }
+            this.future.failed(ex);
+        }
+
+        public void cancelled() {
+            LOG.debug("Connection request cancelled");
+            this.future.cancel(true);
+        }
+
+    }
+
+}

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFConnectionManager.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java?rev=1369567&view=auto
==============================================================================
--- cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java
(added)
+++ cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java
Sun Aug  5 12:49:41 2012
@@ -0,0 +1,53 @@
+/**
+ * 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.
+ */
+
+package org.apache.cxf.transport.http.asyncclient;
+
+import org.apache.http.HttpResponseFactory;
+import org.apache.http.annotation.Immutable;
+import org.apache.http.impl.nio.DefaultNHttpClientConnection;
+import org.apache.http.impl.nio.DefaultNHttpClientConnectionFactory;
+import org.apache.http.nio.reactor.IOSession;
+import org.apache.http.nio.util.ByteBufferAllocator;
+import org.apache.http.params.HttpParams;
+
+@Immutable
+class CXFPlainConnectionFactory extends DefaultNHttpClientConnectionFactory {
+
+    public CXFPlainConnectionFactory(
+            final HttpResponseFactory responseFactory,
+            final ByteBufferAllocator allocator,
+            final HttpParams params) {
+        super(responseFactory, allocator, params);
+    }
+
+    public CXFPlainConnectionFactory(final HttpParams params) {
+        super(params);
+    }
+
+    @Override
+    protected DefaultNHttpClientConnection createConnection(
+            final IOSession session,
+            final HttpResponseFactory responseFactory, 
+            final ByteBufferAllocator allocator, 
+            final HttpParams params) {
+        return new CXFConnection(session, responseFactory, allocator, params);
+    }
+    
+}

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFPlainConnectionFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java?rev=1369567&view=auto
==============================================================================
--- cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java
(added)
+++ cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java
Sun Aug  5 12:49:41 2012
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+
+package org.apache.cxf.transport.http.asyncclient;
+
+import javax.net.ssl.SSLContext;
+
+import org.apache.http.HttpResponseFactory;
+import org.apache.http.annotation.Immutable;
+import org.apache.http.impl.nio.DefaultNHttpClientConnection;
+import org.apache.http.impl.nio.SSLNHttpClientConnectionFactory;
+import org.apache.http.nio.reactor.IOSession;
+import org.apache.http.nio.reactor.ssl.SSLSetupHandler;
+import org.apache.http.nio.util.ByteBufferAllocator;
+import org.apache.http.params.HttpParams;
+
+@Immutable
+class CXFSSLConnectionFactory extends SSLNHttpClientConnectionFactory {
+
+    public CXFSSLConnectionFactory(
+            final SSLContext sslcontext,
+            final SSLSetupHandler sslHandler,
+            final HttpResponseFactory responseFactory,
+            final ByteBufferAllocator allocator,
+            final HttpParams params) {
+        super(sslcontext, sslHandler, responseFactory, allocator, params);
+    }
+
+    public CXFSSLConnectionFactory(
+            final SSLContext sslcontext,
+            final SSLSetupHandler sslHandler,
+            final HttpParams params) {
+        super(sslcontext, sslHandler, params);
+    }
+
+    public CXFSSLConnectionFactory(final HttpParams params) {
+        super(params);
+    }
+
+    @Override
+    protected DefaultNHttpClientConnection createConnection(
+            final IOSession session,
+            final HttpResponseFactory responseFactory, 
+            final ByteBufferAllocator allocator, 
+            final HttpParams params) {
+        return new CXFConnection(session, responseFactory, allocator, params);
+    }
+    
+}

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/CXFSSLConnectionFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingIOSession.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingIOSession.java?rev=1369567&r1=1369566&r2=1369567&view=diff
==============================================================================
--- cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingIOSession.java
(original)
+++ cxf/sandbox/dkulp_async_clients/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/LoggingIOSession.java
Sun Aug  5 12:49:41 2012
@@ -30,12 +30,7 @@ import org.apache.http.nio.reactor.Sessi
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Decorator class intended to transparently extend an {@link IOSession}
- * with basic event logging capabilities using Commons Logging.
- *
- */
-public class LoggingIOSession implements IOSession {
+class LoggingIOSession implements IOSession {
 
     private static final Logger LOG = LoggerFactory.getLogger(IOSession.class);
 



Mime
View raw message