You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2002/07/12 02:18:52 UTC

cvs commit: jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/connection DefaultConnectionManager.java

donaldp     2002/07/11 17:18:52

  Modified:    src/java/org/apache/avalon/cornerstone/blocks/connection
                        DefaultConnectionManager.java
  Log:
  Synchronized some mnethods to avoid corruption when creating connections
  
  Revision  Changes    Path
  1.19      +15 -12    jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/connection/DefaultConnectionManager.java
  
  Index: DefaultConnectionManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/connection/DefaultConnectionManager.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- DefaultConnectionManager.java	18 May 2002 13:30:08 -0000	1.18
  +++ DefaultConnectionManager.java	12 Jul 2002 00:18:52 -0000	1.19
  @@ -31,7 +31,7 @@
       extends AbstractLogEnabled
       implements ConnectionManager, Serviceable, Disposable
   {
  -    private HashMap m_connections = new HashMap();
  +    private final HashMap m_connections = new HashMap();
       private ThreadManager m_threadManager;
   
       /**
  @@ -54,7 +54,8 @@
               }
               catch( final Exception e )
               {
  -                getLogger().warn( "Error disconnecting " + names[ i ], e );
  +                final String message = "Error disconnecting " + names[ i ];
  +                getLogger().warn( message, e );
               }
           }
       }
  @@ -70,16 +71,16 @@
        * @param threadPool the thread pool to use
        * @exception Exception if an error occurs
        */
  -    public void connect( String name,
  -                         ServerSocket socket,
  -                         ConnectionHandlerFactory handlerFactory,
  -                         ThreadPool threadPool )
  +    public synchronized void connect( String name,
  +                                      ServerSocket socket,
  +                                      ConnectionHandlerFactory handlerFactory,
  +                                      ThreadPool threadPool )
           throws Exception
       {
           if( null != m_connections.get( name ) )
           {
  -            throw new IllegalArgumentException( "Connection already exists with name " +
  -                                                name );
  +            final String message = "Connection already exists with name " + name;
  +            throw new IllegalArgumentException( message );
           }
   
           //Make sure timeout is specified for socket.
  @@ -88,7 +89,8 @@
               socket.setSoTimeout( 500 );
           }
   
  -        final Connection runner = new Connection( socket, handlerFactory, threadPool );
  +        final Connection runner =
  +            new Connection( socket, handlerFactory, threadPool );
           setupLogger( runner );
           m_connections.put( name, runner );
           threadPool.execute( runner );
  @@ -133,14 +135,15 @@
        * @param tearDown if true will forcefully tear down all handlers
        * @exception Exception if an error occurs
        */
  -    public void disconnect( final String name, final boolean tearDown )
  +    public synchronized void disconnect( final String name, final boolean tearDown )
           throws Exception
       {
           final Connection connection = (Connection)m_connections.remove( name );
           if( null == connection )
           {
  -            throw new IllegalArgumentException( "No such connection with name " +
  -                                                name );
  +            final String message =
  +                "No such connection with name " + name;
  +            throw new IllegalArgumentException( message );
           }
   
           //TODO: Stop ignoring tearDown
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>