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()
{
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.