[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting/transport/multiplex ...

Ron Sigal ron_sigal at yahoo.com
Sat Jul 22 18:12:25 EDT 2006


  User: rsigal  
  Date: 06/07/22 18:12:25

  Modified:    src/main/org/jboss/remoting/transport/multiplex 
                        OutputMultiplexor.java
  Log:
  JBREM-534:  Added a maxErrors counter.
  
  Revision  Changes    Path
  1.28      +16 -2     JBossRemoting/src/main/org/jboss/remoting/transport/multiplex/OutputMultiplexor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: OutputMultiplexor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/transport/multiplex/OutputMultiplexor.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -b -r1.27 -r1.28
  --- OutputMultiplexor.java	20 Jul 2006 07:26:13 -0000	1.27
  +++ OutputMultiplexor.java	22 Jul 2006 22:12:25 -0000	1.28
  @@ -101,6 +101,7 @@
      private int maxChunkSize;
      private int maxTimeSlice;
      private int maxDataSlice;
  +   private int maxErrors;
      
      private Map configuration = new HashMap();
      private Map writeQueues = Collections.synchronizedMap(new HashMap());
  @@ -110,6 +111,7 @@
      private List messagePool;
      private ByteBuffer buffer;
      private byte[] header = new byte[HEADER_SIZE];
  +   private int errorCount;
      
      private boolean trace;
      private boolean debug;
  @@ -150,11 +152,18 @@
                                        Multiplex.OUTPUT_MAX_DATA_SLICE,
                                        Multiplex.OUTPUT_MAX_DATA_SLICE_DEFAULT);
         
  +      maxErrors
  +         = Multiplex.getOneParameter(configuration,
  +                                  "maxErrors",
  +                                  Multiplex.OUTPUT_MAX_ERRORS,
  +                                  Multiplex.OUTPUT_MAX_ERRORS_DEFAULT);
  +      
         log.debug("messagePoolSize: " + messagePoolSize);
         log.debug("messageSize:     " + messageSize);
         log.debug("maxChunkSize:    " + maxChunkSize);
         log.debug("maxTimeSlice:    " + maxTimeSlice);
         log.debug("maxDataSlice:    " + maxDataSlice);
  +      log.debug("maxErrors:       " + maxErrors);
         
         messagePool = Collections.synchronizedList(new ArrayList(messagePoolSize));
         for (int i = 0; i < messagePoolSize; i++)
  @@ -287,7 +296,7 @@
            List writeQueue = (List) writeQueues.get(client);
            if (writeQueue == null)
            {
  -            log.error("attempt to unregister unknown Listener: " + client);
  +            log.debug("attempt to unregister unknown Listener: " + client);
               return;
            }
            
  @@ -461,12 +470,17 @@
                              manager.setWriteException(e);
                              break;
                           }
  -                        else
  +                        else if (++errorCount > maxErrors)
                           {
                              log.error(e);
                              manager.setWriteException(e);
                              throw e;
                           }
  +                        else
  +                        {
  +//                         Haven't reached maxErrors yet
  +                           throw e;
  +                        }
                        }
                        
                        // If it's a long message with bytes left over, return to message queue.
  
  
  



More information about the jboss-cvs-commits mailing list