hammant 02/03/20 14:12:00
Modified:
src/java/org/apache/avalon/cornerstone/blocks/transport/publishing
AbstractStreamPublisher.java
Log:
Binding to any address also allowed. Patch from Mike Miller
Revision Changes Path
1.4 +39 -15
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractStreamPublisher.java
Index: AbstractStreamPublisher.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractStreamPublisher.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractStreamPublisher.java 16 Mar 2002 00:18:34 -0000 1.3
+++ AbstractStreamPublisher.java 20 Mar 2002 22:12:00 -0000 1.4
@@ -1,3 +1,4 @@
+
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
@@ -7,10 +8,14 @@
*/
package org.apache.avalon.cornerstone.blocks.transport.publishing;
+
+
import java.io.IOException;
+
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.UnknownHostException;
+
import
org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
import org.apache.avalon.cornerstone.services.connection.ConnectionManager;
import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
@@ -20,21 +25,24 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
+
/**
* Class AbstractStreamPublisher
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @author Mike Miller.
+ * @version $Revision: 1.4 $
*/
public abstract class AbstractStreamPublisher extends AbstractPublisher
- implements ConnectionHandlerFactory
+ implements ConnectionHandlerFactory
{
protected SocketManager m_socketManager;
protected ConnectionManager m_connectionManager;
private int m_port;
private InetAddress m_bindTo;
+ boolean m_allAddresses = false;
/**
* Pass the <code>Configuration</code> to the <code>Configurable</code>
@@ -43,22 +51,31 @@
*
* @param configuration the class configurations.
*/
- public final void configure( Configuration configuration ) throws
ConfigurationException
+ public final void configure(Configuration configuration) throws
ConfigurationException
{
- super.configure( configuration );
+ super.configure(configuration);
- m_port = configuration.getChild( "port" ).getValueAsInteger();
+ m_port = configuration.getChild("port").getValueAsInteger();
try
{
- final String bindAddress = configuration.getChild( "bind"
).getValue();
+ final String bindAddress =
configuration.getChild("bind").getValue();
- m_bindTo = InetAddress.getByName( bindAddress );
+ if ("*".equals(bindAddress))
+ {
+ m_allAddresses = true;
+ m_bindTo = null;
+ }
+ else
+ {
+ m_allAddresses = false;
+ m_bindTo = InetAddress.getByName(bindAddress);
+ }
}
- catch( final UnknownHostException unhe )
+ catch (final UnknownHostException unhe)
{
- throw new ConfigurationException( "Malformed bind parameter",
unhe );
+ throw new ConfigurationException("Malformed bind parameter",
unhe);
}
}
@@ -71,20 +88,27 @@
* @throws ComponentException
*
*/
- public final void compose( ComponentManager manager ) throws
ComponentException
+ public final void compose(ComponentManager manager) throws
ComponentException
{
- super.compose( manager );
+ super.compose(manager);
- m_socketManager = (SocketManager)manager.lookup( SocketManager.ROLE
);
- m_connectionManager = (ConnectionManager)manager.lookup(
ConnectionManager.ROLE );
+ m_socketManager = (SocketManager) manager.lookup(SocketManager.ROLE);
+ m_connectionManager = (ConnectionManager)
manager.lookup(ConnectionManager.ROLE);
}
protected ServerSocket makeServerSocket() throws ComponentException,
IOException
{
- final ServerSocketFactory factory =
m_socketManager.getServerSocketFactory( "plain" );
+ final ServerSocketFactory factory =
m_socketManager.getServerSocketFactory("plain");
- return factory.createServerSocket( m_port, 5, m_bindTo );
+ if (m_allAddresses)
+ {
+ return factory.createServerSocket(m_port, 5);
+ }
+ else
+ {
+ return factory.createServerSocket(m_port, 5, m_bindTo);
+ }
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>