hammant     02/03/12 14:57:18

  Modified:    lib      commons-altrmi-client-impl.jar
                        commons-altrmi-client-interfaces.jar
                        commons-altrmi-common.jar
                        commons-altrmi-generator.jar
                        commons-altrmi-server-impl.jar
                        commons-altrmi-server-interfaces.jar
               
src/java/org/apache/avalon/cornerstone/blocks/transport/publishing
                        AbstractPublisher.java RmiPublisher.java
                        SocketObjectStreamConnectionHandler.java
                        SocketObjectStreamPublisher.java
  Added:       
src/java/org/apache/avalon/cornerstone/blocks/transport/publishing
                        AbstractStreamPublisher.java
                        SocketCustomStreamConnectionHandler.java
                        SocketCustomStreamPublisher.java
  Log:
  Improved transport package and AltRMI jars
  
  Revision  Changes    Path
  1.18      +211 -153  
jakarta-avalon-cornerstone/lib/commons-altrmi-client-impl.jar
  
        <<Binary file>>
  
  
  1.18      +24 -21    
jakarta-avalon-cornerstone/lib/commons-altrmi-client-interfaces.jar
  
        <<Binary file>>
  
  
  1.18      +55 -49    jakarta-avalon-cornerstone/lib/commons-altrmi-common.jar
  
        <<Binary file>>
  
  
  1.19      +47 -51    
jakarta-avalon-cornerstone/lib/commons-altrmi-generator.jar
  
        <<Binary file>>
  
  
  1.19      +165 -141  
jakarta-avalon-cornerstone/lib/commons-altrmi-server-impl.jar
  
        <<Binary file>>
  
  
  1.17      +26 -24    
jakarta-avalon-cornerstone/lib/commons-altrmi-server-interfaces.jar
  
        <<Binary file>>
  
  
  1.11      +67 -49    
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractPublisher.java
  
  Index: AbstractPublisher.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractPublisher.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- AbstractPublisher.java    24 Feb 2002 11:06:10 -0000      1.10
  +++ AbstractPublisher.java    12 Mar 2002 22:57:18 -0000      1.11
  @@ -10,37 +10,37 @@
   
   
   
  -import org.apache.commons.altrmi.server.AltrmiPublisher;
  -import org.apache.commons.altrmi.server.PublicationException;
  -import org.apache.commons.altrmi.server.AltrmiServer;
  -import org.apache.commons.altrmi.server.ClassRetriever;
  -import org.apache.commons.altrmi.server.AltrmiAuthenticator;
  -import org.apache.commons.altrmi.server.MethodInvocationHandler;
  -import 
org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
  -import 
org.apache.commons.altrmi.server.impl.classretrievers.NoClassRetriever;
  -import org.apache.commons.altrmi.common.MethodRequest;
  -import org.apache.commons.altrmi.server.PublicationDescription;
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.avalon.framework.activity.Startable;
   import org.apache.avalon.framework.activity.Initializable;
  -import org.apache.avalon.framework.configuration.Configurable;
  -import org.apache.avalon.framework.configuration.Configuration;
  -import org.apache.avalon.framework.configuration.ConfigurationException;
   import org.apache.avalon.framework.component.Composable;
  -import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.ComponentException;
  -import org.apache.avalon.framework.context.Context;
  +import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.context.Contextualizable;
  +import org.apache.avalon.framework.context.Context;
  +import org.apache.avalon.framework.configuration.Configurable;
  +import org.apache.avalon.framework.configuration.ConfigurationException;
  +import org.apache.avalon.framework.configuration.Configuration;
   import org.apache.avalon.phoenix.Block;
   import org.apache.avalon.phoenix.BlockContext;
  -import org.apache.avalon.cornerstone.services.sockets.SocketManager;
  +import org.apache.commons.altrmi.server.AltrmiPublisher;
  +import org.apache.commons.altrmi.server.ClassRetriever;
  +import org.apache.commons.altrmi.server.AltrmiAuthenticator;
  +import org.apache.commons.altrmi.server.PublicationException;
  +import org.apache.commons.altrmi.server.PublicationDescription;
  +import org.apache.commons.altrmi.server.MethodInvocationHandler;
  +import org.apache.commons.altrmi.server.impl.AbstractServer;
  +import 
org.apache.commons.altrmi.server.impl.classretrievers.NoClassRetriever;
  +import 
org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
  +import org.apache.commons.altrmi.common.MethodRequest;
  +
  +import java.io.File;
   
   import java.util.StringTokenizer;
   import java.util.Vector;
   
  -import java.net.MalformedURLException;
  -import java.io.File;
   import java.net.URL;
  +import java.net.MalformedURLException;
   
   
   /**
  @@ -48,14 +48,14 @@
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.10 $
  + * @version $Revision: 1.11 $
    */
   public abstract class AbstractPublisher extends AbstractLogEnabled
  -        implements AltrmiPublisher, Startable, Composable, Contextualizable,
  -                   Configurable, Initializable, Block
  +        implements AltrmiPublisher, Startable, Composable, Contextualizable, 
Configurable,
  +                   Initializable, Block
   {
   
  -    protected AltrmiServer m_AltrmiServer;
  +    protected AbstractServer m_AbstractServer;
       private ClassRetriever m_ClassRetriever;
       protected AltrmiAuthenticator m_AltrmiAuthenticator;
       protected File mBaseDirectory;
  @@ -81,21 +81,33 @@
   
               while (st.hasMoreTokens())
               {
  -                try {
  +                try
  +                {
                       String url = st.nextToken();
  -                    if (url.startsWith("./")) {
  -                        File file = new File(mBaseDirectory, 
url.substring(2,url.length()));
  +
  +                    if (url.startsWith("./"))
  +                    {
  +                        File file = new File(mBaseDirectory, 
url.substring(2, url.length()));
  +
                           vector.add(file.toURL());
  -                    } else {
  -                         vector.add(new URL(url));
                       }
  -                } catch (MalformedURLException e) {
  -                    getLogger().debug("Can't create URL from config element 
'gerneratedClassJarURLs'",e);
  +                    else
  +                    {
  +                        vector.add(new URL(url));
  +                    }
  +                }
  +                catch (MalformedURLException e)
  +                {
  +                    getLogger()
  +                        .debug("Can't create URL from config element 
'gerneratedClassJarURLs'",
  +                               e);
                   }
               }
   
               URL[] urls = new URL[vector.size()];
  +
               vector.copyInto(urls);
  +
               m_ClassRetriever = new JarFileClassRetriever(urls);
           }
           else if (classRetrieverType.equals("none"))
  @@ -113,10 +125,12 @@
        * Method contextualize
        *
        *
  -     * @param mContext
  +     *
  +     * @param context
        *
        */
  -    public void contextualize(final Context context) {
  +    public void contextualize(final Context context)
  +    {
           mBaseDirectory = ((BlockContext) context).getBaseDirectory();
       }
   
  @@ -144,8 +158,8 @@
       */
       public void initialize() throws Exception
       {
  -        m_AltrmiServer.setClassRetriever(m_ClassRetriever);
  -        m_AltrmiServer.setAuthenticator(m_AltrmiAuthenticator);
  +        m_AbstractServer.setClassRetriever(m_ClassRetriever);
  +        m_AbstractServer.setAuthenticator(m_AltrmiAuthenticator);
       }
   
       /**
  @@ -156,12 +170,14 @@
        * @param asName
        * @param interfaceToExpose
        *
  -     * @throws AltrmiPublicationException
  +     *
  +     * @throws PublicationException
        *
        */
  -    public void publish(Object implementation, String asName, Class 
interfaceToExpose) throws PublicationException
  +    public void publish(Object implementation, String asName, Class 
interfaceToExpose)
  +            throws PublicationException
       {
  -        m_AltrmiServer.publish(implementation, asName, interfaceToExpose);
  +        m_AbstractServer.publish(implementation, asName, interfaceToExpose);
       }
   
       /**
  @@ -171,15 +187,16 @@
        * @param implementation
        * @param asName
        * @param publicationDescription
  -     * @param aClass1
        *
  -     * @throws AltrmiPublicationException
  +     *
  +     * @throws PublicationException
        *
        */
  -    public void publish(Object implementation, String asName, 
PublicationDescription publicationDescription)
  -            throws PublicationException
  +    public void publish(
  +            Object implementation, String asName, PublicationDescription 
publicationDescription)
  +                throws PublicationException
       {
  -        m_AltrmiServer.publish(implementation, asName, 
publicationDescription);
  +        m_AbstractServer.publish(implementation, asName, 
publicationDescription);
       }
   
       /**
  @@ -189,12 +206,13 @@
        * @param o
        * @param s
        *
  -     * @throws AltrmiPublicationException
  +     *
  +     * @throws PublicationException
        *
        */
       public void unPublish(Object o, String s) throws PublicationException
       {
  -        m_AltrmiServer.unPublish(o, s);
  +        m_AbstractServer.unPublish(o, s);
       }
   
       /**
  @@ -205,12 +223,13 @@
        * @param s
        * @param o1
        *
  -     * @throws AltrmiPublicationException
  +     *
  +     * @throws PublicationException
        *
        */
       public void replacePublished(Object o, String s, Object o1) throws 
PublicationException
       {
  -        m_AltrmiServer.replacePublished(o, s, o1);
  +        m_AbstractServer.replacePublished(o, s, o1);
       }
   
       /**
  @@ -220,7 +239,7 @@
        */
       public void start() throws Exception
       {
  -        m_AltrmiServer.start();
  +        m_AbstractServer.start();
       }
   
       /**
  @@ -230,7 +249,7 @@
        */
       public void stop() throws Exception
       {
  -        m_AltrmiServer.stop();
  +        m_AbstractServer.stop();
       }
   
       /**
  @@ -245,7 +264,6 @@
        */
       public MethodInvocationHandler getMethodInvocationHandler(MethodRequest 
request, String s)
       {
  -        return m_AltrmiServer.getMethodInvocationHandler(request, s);
  +        return m_AbstractServer.getMethodInvocationHandler(request, s);
       }
  -
   }
  
  
  
  1.5       +2 -4      
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/RmiPublisher.java
  
  Index: RmiPublisher.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/RmiPublisher.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RmiPublisher.java 29 Jan 2002 14:50:34 -0000      1.4
  +++ RmiPublisher.java 12 Mar 2002 22:57:18 -0000      1.5
  @@ -22,7 +22,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    */
   public class RmiPublisher extends AbstractPublisher
   {
  @@ -56,10 +56,8 @@
       public void initialize() throws Exception
       {
   
  -        m_AltrmiServer = new RmiServer(mHost, mPort);
  +        m_AbstractServer = new RmiServer(mHost, mPort);
   
           super.initialize();
       }
  -
  -
   }
  
  
  
  1.4       +6 -7      
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamConnectionHandler.java
  
  Index: SocketObjectStreamConnectionHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamConnectionHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SocketObjectStreamConnectionHandler.java  16 Jan 2002 13:30:03 -0000      
1.3
  +++ SocketObjectStreamConnectionHandler.java  12 Mar 2002 22:57:18 -0000      
1.4
  @@ -1,11 +1,10 @@
   
   /*
  - * Created by IntelliJ IDEA.
  - * User: Administrator
  - * Date: Jan 9, 2002
  - * Time: 10:25:12 PM
  - * To change template for new class use
  - * Code Style | Class Templates options (Tools | IDE Options).
  + * Copyright (C) The Apache Software Foundation. All rights reserved.
  + *
  + * This software is published under the terms of the Apache Software License
  + * version 1.1, a copy of which has been included with this distribution in
  + * the LICENSE.txt file.
    */
   package org.apache.avalon.cornerstone.blocks.transport.publishing;
   
  @@ -27,7 +26,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    */
   public class SocketObjectStreamConnectionHandler extends AbstractLogEnabled
           implements Component, ConnectionHandler
  
  
  
  1.5       +6 -72     
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamPublisher.java
  
  Index: SocketObjectStreamPublisher.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamPublisher.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SocketObjectStreamPublisher.java  16 Jan 2002 13:30:03 -0000      1.4
  +++ SocketObjectStreamPublisher.java  12 Mar 2002 22:57:18 -0000      1.5
  @@ -10,83 +10,20 @@
   
   
   
  -import org.apache.avalon.framework.configuration.Configuration;
  -import org.apache.avalon.framework.configuration.ConfigurationException;
  -import org.apache.avalon.framework.component.Composable;
  -import org.apache.avalon.framework.component.ComponentManager;
  -import org.apache.avalon.framework.component.ComponentException;
  -import org.apache.avalon.cornerstone.services.sockets.SocketManager;
  -import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
  -import org.apache.avalon.cornerstone.services.connection.ConnectionManager;
  -import 
org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
   import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
   import 
org.apache.commons.altrmi.server.impl.socket.PartialSocketObjectStreamServer;
   
  -import java.net.InetAddress;
  -import java.net.UnknownHostException;
  -import java.net.ServerSocket;
  -
   
   /**
    * Class SocketObjectStreamPublisher
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    */
  -public class SocketObjectStreamPublisher extends AbstractPublisher
  -        implements ConnectionHandlerFactory
  +public class SocketObjectStreamPublisher extends AbstractStreamPublisher
   {
   
  -    private SocketManager m_socketManager;
  -    private ConnectionManager m_connectionManager;
  -    private int m_port;
  -    private InetAddress m_bindTo;
  -
  -    /**
  -     * Pass the <code>Configuration</code> to the <code>Configurable</code>
  -     * class. This method must always be called after the constructor
  -     * and before any other method.
  -     *
  -     * @param configuration the class configurations.
  -     */
  -    public void configure(Configuration configuration) throws 
ConfigurationException
  -    {
  -
  -        super.configure(configuration);
  -
  -        m_port = configuration.getChild("port").getValueAsInteger();
  -
  -        try
  -        {
  -            final String bindAddress = 
configuration.getChild("bind").getValue();
  -
  -            m_bindTo = InetAddress.getByName(bindAddress);
  -        }
  -        catch (final UnknownHostException unhe)
  -        {
  -            throw new ConfigurationException("Malformed bind parameter", 
unhe);
  -        }
  -    }
  -
  -    /**
  -     * Method compose
  -     *
  -     *
  -     * @param manager
  -     *
  -     * @throws ComponentException
  -     *
  -     */
  -    public void compose(ComponentManager manager) throws ComponentException
  -    {
  -
  -        super.compose(manager);
  -
  -        m_socketManager = (SocketManager) manager.lookup(SocketManager.ROLE);
  -        m_connectionManager = (ConnectionManager) 
manager.lookup(ConnectionManager.ROLE);
  -    }
  -
       /**
        * Construct an appropriate ConnectionHandler.
        *
  @@ -98,7 +35,7 @@
   
           final SocketObjectStreamConnectionHandler handler =
               new SocketObjectStreamConnectionHandler(
  -                (PartialSocketObjectStreamServer) m_AltrmiServer);
  +                (PartialSocketObjectStreamServer) m_AbstractServer);
   
           setupLogger(handler);
   
  @@ -123,13 +60,10 @@
       public void initialize() throws Exception
       {
   
  -        m_AltrmiServer = new PartialSocketObjectStreamServer();
  +        m_AbstractServer = new PartialSocketObjectStreamServer();
   
  +        setupLogger(m_AbstractServer);
           super.initialize();
  -
  -        final ServerSocketFactory factory = 
m_socketManager.getServerSocketFactory("plain");
  -        final ServerSocket serverSocket = factory.createServerSocket(m_port, 
5, m_bindTo);
  -
  -        m_connectionManager.connect("SocketObjectStreamListener", 
serverSocket, this);
  +        m_connectionManager.connect("SocketObjectStreamListener", 
makeServerSocket(), this);
       }
   }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractStreamPublisher.java
  
  Index: AbstractStreamPublisher.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.cornerstone.blocks.transport.publishing;
  
  
  
  import 
org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
  import org.apache.avalon.cornerstone.services.connection.ConnectionManager;
  import org.apache.avalon.cornerstone.services.sockets.SocketManager;
  import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
  import org.apache.avalon.framework.configuration.Configuration;
  import org.apache.avalon.framework.configuration.ConfigurationException;
  import org.apache.avalon.framework.component.ComponentManager;
  import org.apache.avalon.framework.component.ComponentException;
  
  import java.net.InetAddress;
  import java.net.UnknownHostException;
  import java.net.ServerSocket;
  
  
  /**
   * Class AbstractStreamPublisher
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public abstract class AbstractStreamPublisher extends AbstractPublisher
          implements ConnectionHandlerFactory
  {
  
      protected SocketManager m_socketManager;
      protected ConnectionManager m_connectionManager;
      private int m_port;
      private InetAddress m_bindTo;
  
      /**
       * Pass the <code>Configuration</code> to the <code>Configurable</code>
       * class. This method must always be called after the constructor
       * and before any other method.
       *
       * @param configuration the class configurations.
       */
      public final void configure(Configuration configuration) throws 
ConfigurationException
      {
  
          super.configure(configuration);
  
          m_port = configuration.getChild("port").getValueAsInteger();
  
          try
          {
              final String bindAddress = 
configuration.getChild("bind").getValue();
  
              m_bindTo = InetAddress.getByName(bindAddress);
          }
          catch (final UnknownHostException unhe)
          {
              throw new ConfigurationException("Malformed bind parameter", 
unhe);
          }
      }
  
      /**
       * Method compose
       *
       *
       * @param manager
       *
       * @throws ComponentException
       *
       */
      public final void compose(ComponentManager manager) throws 
ComponentException
      {
  
          super.compose(manager);
  
          m_socketManager = (SocketManager) manager.lookup(SocketManager.ROLE);
          m_connectionManager = (ConnectionManager) 
manager.lookup(ConnectionManager.ROLE);
      }
  
      protected ServerSocket makeServerSocket()
      {
  
          final ServerSocketFactory factory = 
m_socketManager.getServerSocketFactory("plain");
  
          return factory.createServerSocket(m_port, 5, m_bindTo);
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketCustomStreamConnectionHandler.java
  
  Index: SocketCustomStreamConnectionHandler.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.cornerstone.blocks.transport.publishing;
  
  
  
  import org.apache.avalon.framework.logger.AbstractLogEnabled;
  import org.apache.avalon.framework.component.Component;
  import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
  import 
org.apache.commons.altrmi.server.impl.socket.PartialSocketCustomStreamServer;
  
  import java.net.Socket;
  import java.net.ProtocolException;
  
  import java.io.IOException;
  
  
  /**
   * Class SocketCustomStreamConnectionHandler
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class SocketCustomStreamConnectionHandler extends AbstractLogEnabled
          implements Component, ConnectionHandler
  {
  
      private PartialSocketCustomStreamServer m_PartialSocketCustomStreamServer;
  
      /**
       * Constructor SocketCustomStreamConnectionHandler
       *
       *
       * @param partialSocketCustomStreamServer
       *
       */
      public SocketCustomStreamConnectionHandler(
              PartialSocketCustomStreamServer partialSocketCustomStreamServer)
      {
          m_PartialSocketCustomStreamServer = partialSocketCustomStreamServer;
      }
  
      /**
       * Handle a connection.
       * This handler is responsible for processing connections as they occur.
       *
       * @param connection the connection
       * @exception IOException if an error reading from socket occurs
       * @exception ProtocolException if an error handling connection occurs
       */
      public void handleConnection(Socket connection) throws IOException, 
ProtocolException
      {
          m_PartialSocketCustomStreamServer.handleConnection(connection);
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketCustomStreamPublisher.java
  
  Index: SocketCustomStreamPublisher.java
  ===================================================================
  
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.avalon.cornerstone.blocks.transport.publishing;
  
  
  
  import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
  import 
org.apache.commons.altrmi.server.impl.socket.PartialSocketCustomStreamServer;
  
  
  /**
   * Class SocketCustomStreamPublisher
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class SocketCustomStreamPublisher extends AbstractStreamPublisher
  {
  
      /**
       * Construct an appropriate ConnectionHandler.
       *
       * @return the new ConnectionHandler
       * @exception Exception if an error occurs
       */
      public ConnectionHandler createConnectionHandler() throws Exception
      {
  
          final SocketCustomStreamConnectionHandler handler =
              new SocketCustomStreamConnectionHandler(
                  (PartialSocketCustomStreamServer) m_AbstractServer);
  
          setupLogger(handler);
  
          return handler;
      }
  
      /**
       * Release a previously created ConnectionHandler.
       * e.g. for spooling.
       */
      public void releaseConnectionHandler(ConnectionHandler connectionHandler)
      {
      }
  
      /**
       * Initialialize the component. Initialization includes
       * allocating any resources required throughout the
       * components lifecycle.
       *
       * @exception Exception if an error occurs
       */
      public void initialize() throws Exception
      {
  
          m_AbstractServer = new PartialSocketCustomStreamServer();
  
          setupLogger(m_AbstractServer);
          super.initialize();
          m_connectionManager.connect("SocketCustomStreamListener", 
makeServerSocket(), this);
      }
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to