You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ni...@apache.org on 2004/07/27 12:11:53 UTC

svn commit: rev 30772 - in avalon/trunk/planet/facilities/http/impl/src: etc main/org/apache/avalon/http/impl

Author: niclas
Date: Tue Jul 27 03:11:52 2004
New Revision: 30772

Added:
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/Ajp13Listener.java   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/JsseListener.java   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListener.java
      - copied, changed from rev 30710, avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java
Removed:
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java
Modified:
   avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml
Log:
Added the Ajp and Jsse listener wrappers. They are yet to be tested.

Modified: avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml
==============================================================================
--- avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml	(original)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml	Tue Jul 27 03:11:52 2004
@@ -26,7 +26,7 @@
   <component name="secondary" class="test.http.TestComponent" profile="secondary"/>
 
 <!-- Actual Facility  -->  
-  <component name="socketlistener" class="org.apache.avalon.http.impl.SocketListenerComponent">
+  <component name="socketlistener" class="org.apache.avalon.http.impl.SocketListener">
     <parameters>
       <parameter name="port" value="8088"/>
       <parameter name="hostname" value="0.0.0.0"/>

Added: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/Ajp13Listener.java
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/Ajp13Listener.java	Tue Jul 27 03:11:52 2004
@@ -0,0 +1,141 @@
+/* 
+ * Copyright 2004 Apache Software Foundation
+ * Licensed  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.avalon.http.impl;
+
+import org.apache.avalon.framework.activity.Startable;
+
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
+
+import org.apache.avalon.framework.parameters.ParameterException;
+import org.apache.avalon.framework.parameters.Parameterizable;
+import org.apache.avalon.framework.parameters.Parameters;
+
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+
+import org.apache.avalon.http.HttpService;
+
+import org.mortbay.http.HttpListener;
+
+/** Wrapper for the Jetty SocketListener.
+ *
+ * @avalon.component name="http-socket-listener" lifestyle="singleton"
+ * @avalon.service type="org.mortbay.http.HttpListener"
+ */
+public class Ajp13Listener extends org.mortbay.http.ajp.AJP13Listener
+    implements Parameterizable, Startable, Serviceable, LogEnabled, HttpListener
+{
+    private HttpService m_HttpServer;
+    private Logger      m_Logger;
+    
+    public Ajp13Listener()
+    {
+    }
+    
+    /**
+     * Enable the logging system.
+     *
+     * @avalon.logger name="http"
+     */
+    public void enableLogging( Logger logger )
+    {
+        m_Logger = logger;
+    }
+    
+    public Logger getLogger()
+    {
+        return m_Logger;
+    }
+    
+    public void parameterize( Parameters params )
+        throws ParameterException
+    {
+        int reserve = params.getParameterAsInteger( "buffer-reserve", -1 );
+        if( reserve > 0 )
+            setBufferReserve( reserve );
+        
+        int size = params.getParameterAsInteger( "buffer-size", -1 );
+        if( size > 0 )
+            setBufferSize( size );
+    
+        int confPort = params.getParameterAsInteger( "confidential-port", -1 );
+        if( confPort > 0 )
+            setConfidentialPort( confPort );
+        
+        String confScheme = params.getParameter( "confidential-scheme", null );
+        if( confScheme != null )
+            setConfidentialScheme( confScheme );
+    
+        int integralPort = params.getParameterAsInteger( "integral-port", -1 );
+        if( integralPort > 0 )
+            setIntegralPort( integralPort );
+        
+        String integralScheme = params.getParameter( "integral-scheme", null );
+        if( integralScheme != null )
+            setIntegralScheme( integralScheme );
+    
+        String host = params.getParameter( "hostname", null );
+        try
+        {
+            if( host != null )
+                setHost( host );
+        } catch( java.net.UnknownHostException e )
+        {
+            throw new ParameterException( "Unknown hostname: " + host );
+        }
+        
+        int port = params.getParameterAsInteger( "port", 8080 );
+        setPort( port );
+        
+        boolean identify = params.getParameterAsBoolean( "identify-listener", false );
+        setIdentifyListener( identify );
+        
+        
+    }
+    
+    /**
+     * @avalon.dependency type="org.apache.avalon.http.HttpService" 
+     *                    key="server"
+     */
+    public void service( ServiceManager man )
+        throws ServiceException
+    {
+        m_HttpServer = (HttpService) man.lookup( "server" );
+    }
+    
+    public void start()
+        throws Exception
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Starting socket: " + this );
+        m_HttpServer.addListener( this );
+        super.start();
+    }
+    
+    public void stop()
+        throws InterruptedException
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Stopping socket: " + this );
+        super.stop();
+        m_HttpServer.removeListener( this );
+    }
+} 
+ 

Added: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/JsseListener.java
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/JsseListener.java	Tue Jul 27 03:11:52 2004
@@ -0,0 +1,177 @@
+/* 
+ * Copyright 2004 Apache Software Foundation
+ * Licensed  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.avalon.http.impl;
+
+import org.apache.avalon.framework.activity.Startable;
+
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
+
+import org.apache.avalon.framework.parameters.ParameterException;
+import org.apache.avalon.framework.parameters.Parameterizable;
+import org.apache.avalon.framework.parameters.Parameters;
+
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+
+import org.apache.avalon.http.HttpService;
+
+import org.mortbay.http.HttpListener;
+
+/** Wrapper for the Jetty SocketListener.
+ *
+ * @avalon.component name="http-socket-listener" lifestyle="singleton"
+ * @avalon.service type="org.mortbay.http.HttpListener"
+ */
+public class JsseListener extends org.mortbay.http.SunJsseListener
+    implements Parameterizable, Startable, Serviceable, LogEnabled, HttpListener
+{
+    private HttpService m_HttpServer;
+    private Logger      m_Logger;
+    
+    public JsseListener()
+    {
+    }
+    
+    /**
+     * Enable the logging system.
+     *
+     * @avalon.logger name="http"
+     */
+    public void enableLogging( Logger logger )
+    {
+        m_Logger = logger;
+    }
+    
+    public Logger getLogger()
+    {
+        return m_Logger;
+    }
+    
+    public void parameterize( Parameters params )
+        throws ParameterException
+    {
+        int reserve = params.getParameterAsInteger( "buffer-reserve", -1 );
+        if( reserve > 0 )
+            setBufferReserve( reserve );
+        
+        int size = params.getParameterAsInteger( "buffer-size", -1 );
+        if( size > 0 )
+            setBufferSize( size );
+    
+        int confPort = params.getParameterAsInteger( "confidential-port", -1 );
+        if( confPort > 0 )
+            setConfidentialPort( confPort );
+        
+        String confScheme = params.getParameter( "confidential-scheme", null );
+        if( confScheme != null )
+            setConfidentialScheme( confScheme );
+    
+        String defScheme = params.getParameter( "default-scheme", null );
+        if( defScheme != null )
+            setDefaultScheme( defScheme );
+        
+        int integralPort = params.getParameterAsInteger( "integral-port", -1 );
+        if( integralPort > 0 )
+            setIntegralPort( integralPort );
+        
+        String integralScheme = params.getParameter( "integral-scheme", null );
+        if( integralScheme != null )
+            setIntegralScheme( integralScheme );
+    
+        String host = params.getParameter( "hostname", null );
+        try
+        {
+            if( host != null )
+                setHost( host );
+        } catch( java.net.UnknownHostException e )
+        {
+            throw new ParameterException( "Unknown hostname: " + host );
+        }
+        
+        int port = params.getParameterAsInteger( "port", 8443 );
+        setPort( port );
+        
+        int lowResMs = params.getParameterAsInteger( "low-resource-persist-ms", -1 );
+        if( lowResMs > 0 )
+            setLowResourcePersistTimeMs( lowResMs );
+        
+        boolean identify = params.getParameterAsBoolean( "identify-listener", false );
+        setIdentifyListener( identify );
+        
+        boolean needClientAuth = params.getParameterAsBoolean( "need-client-authentication", false );
+        setNeedClientAuth( needClientAuth );
+        
+        boolean useDefTrustStore = params.getParameterAsBoolean( "use-default-trust-store", false );
+        setUseDefaultTrustStore( useDefTrustStore );
+        
+        String keyPass = params.getParameter( "key-password", null );
+        if( keyPass != null )
+            setKeyPassword( keyPass );
+            
+        String keyStore = params.getParameter( "key-store", null );
+        if( keyStore != null )
+            setKeystore( keyStore );
+            
+        String keyStoreProviderClass = params.getParameter( "key-store-provider-class", null );
+        if( keyStoreProviderClass != null )
+            setKeystoreProviderClass( keyStoreProviderClass );
+            
+        String keyStoreProviderName = params.getParameter( "key-store-provider-name", null );
+        if( keyStoreProviderName != null )
+            setKeystoreProviderName( keyStoreProviderName );
+            
+        String keyStoreType = params.getParameter( "key-store-type", null );
+        if( keyStoreType != null )
+            setKeystoreType( keyStoreType );
+            
+        String password = params.getParameter( "password", null );
+        if( password != null )
+            setPassword( password );
+    }
+    
+    /**
+     * @avalon.dependency type="org.apache.avalon.http.HttpService" 
+     *                    key="server"
+     */
+    public void service( ServiceManager man )
+        throws ServiceException
+    {
+        m_HttpServer = (HttpService) man.lookup( "server" );
+    }
+    
+    public void start()
+        throws Exception
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Starting SSL socket: " + this );
+        m_HttpServer.addListener( this );
+        super.start();
+    }
+    
+    public void stop()
+        throws InterruptedException
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Stopping SSL socket: " + this );
+        super.stop();
+        m_HttpServer.removeListener( this );
+    }
+} 
+ 

Copied: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListener.java (from rev 30710, avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java)
==============================================================================
--- avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java	(original)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListener.java	Tue Jul 27 03:11:52 2004
@@ -33,20 +33,19 @@
 import org.apache.avalon.http.HttpService;
 
 import org.mortbay.http.HttpListener;
-import org.mortbay.http.SocketListener;
 
 /** Wrapper for the Jetty SocketListener.
  *
  * @avalon.component name="http-socket-listener" lifestyle="singleton"
  * @avalon.service type="org.mortbay.http.HttpListener"
  */
-public class SocketListenerComponent extends SocketListener
+public class SocketListener extends org.mortbay.http.SocketListener
     implements Parameterizable, Startable, Serviceable, LogEnabled, HttpListener
 {
     private HttpService m_HttpServer;
     private Logger      m_Logger;
     
-    public SocketListenerComponent()
+    public SocketListener()
     {
     }
     

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org