[jboss-cvs] jboss-jms/src/main/org/jboss/messaging/core ...

Timothy Fox tim.fox at jboss.com
Thu Jul 27 15:01:56 EDT 2006


  User: timfox  
  Date: 06/07/27 15:01:56

  Modified:    src/main/org/jboss/messaging/core   ChannelSupport.java
                        Routable.java
  Log:
  Mainly http://jira.jboss.com/jira/browse/JBMESSAGING-434 plus a few other bits and pieces
  
  Revision  Changes    Path
  1.68      +33 -32    jboss-jms/src/main/org/jboss/messaging/core/ChannelSupport.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ChannelSupport.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-jms/src/main/org/jboss/messaging/core/ChannelSupport.java,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -b -r1.67 -r1.68
  --- ChannelSupport.java	19 Jul 2006 16:21:18 -0000	1.67
  +++ ChannelSupport.java	27 Jul 2006 19:01:55 -0000	1.68
  @@ -55,7 +55,7 @@
    * 
    * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
    * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  - * @version <tt>$Revision: 1.67 $</tt> $Id: ChannelSupport.java,v 1.65
  + * @version <tt>$Revision: 1.68 $</tt> $Id: ChannelSupport.java,v 1.65
    *          2006/06/27 19:44:39 timfox Exp $
    */
   public abstract class ChannelSupport implements Channel
  @@ -384,20 +384,8 @@
               // Also is very inefficient since it makes a copy
               List references = delivering(filter);
               
  -            Iterator iter = references.iterator();
  -            while (iter.hasNext())
  -            {
  -               MessageReference ref = (MessageReference)iter.next();
  -            }
  -            
               List undel = undelivered(filter);
               
  -            iter = undel.iterator();
  -            while (iter.hasNext())
  -            {
  -               MessageReference ref = (MessageReference)iter.next();
  -            }
  -
               references.addAll(undel);
               
               // dereference pass
  @@ -828,7 +816,9 @@
   
               ref.setOrdering(messageOrdering.increment());
   
  -            if (ref.isReliable() && recoverable)
  +            if (ref.isReliable())
  +            {
  +               if (recoverable)
               {
                  // Reliable message in a recoverable state - also add to db
                  if (trace)
  @@ -839,6 +829,17 @@
   
                  pm.addReference(channelID, ref, null);
               }
  +               else
  +               {
  +                  //Reliable reference in a non recoverable channel-
  +                  //We handle it as a non reliable reference
  +                  //It's important that we set it to non reliable otherwise if the channel
  +                  //pages and is non recoverable a reliable ref will be paged in the database as reliable
  +                  //which makes them hard to remove on server restart.
  +                  //If we always page them as unreliable then it is easy to remove them.
  +                  ref.setReliable(false);
  +               }
  +            }
   
               addReferenceInMemory(ref);
   
  @@ -918,7 +919,7 @@
         return new SimpleDelivery(sender, ref, true);
      }
   
  -   protected void acknowledgeInternal(Delivery d) throws Throwable
  +   protected void acknowledgeInternal(Delivery d) throws Exception
      {      
         synchronized (deliveryLock)
         {
  @@ -933,7 +934,7 @@
         d.getReference().releaseMemoryReference();      
      }
   
  -   protected void cancelInternal(Delivery del) throws Throwable
  +   protected void cancelInternal(Delivery del) throws Exception
      {
         if (trace)
         {
  @@ -995,7 +996,7 @@
         }
      }
   
  -   protected MessageReference removeFirstInMemory() throws Throwable
  +   protected MessageReference removeFirstInMemory() throws Exception
      {
         synchronized (refLock)
         {
  @@ -1087,7 +1088,7 @@
         // }
      }
   
  -   protected void addReferenceInMemory(MessageReference ref) throws Throwable
  +   protected void addReferenceInMemory(MessageReference ref) throws Exception
      {
         if (ref.isReliable() && !acceptReliableMessages)
         {
  @@ -1167,7 +1168,7 @@
                     + " refs from downcache");
         }
   
  -      // Non persistent refs or persistent refs in a non recoverable state won't
  +      // Non persistent refs won't
         // already be in the db
         // so they need to be inserted
         // Persistent refs in a recoverable state will already be there so need to
  @@ -1250,7 +1251,7 @@
         }
      }
   
  -   protected boolean acknowledgeInMemory(Delivery d) throws Throwable
  +   protected boolean acknowledgeInMemory(Delivery d)
      {
         if (d == null)
         {
  
  
  
  1.18      +4 -2      jboss-jms/src/main/org/jboss/messaging/core/Routable.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Routable.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-jms/src/main/org/jboss/messaging/core/Routable.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -b -r1.17 -r1.18
  --- Routable.java	17 Jul 2006 17:14:47 -0000	1.17
  +++ Routable.java	27 Jul 2006 19:01:56 -0000	1.18
  @@ -36,9 +36,9 @@
    *
    * @author <a href="mailto:ovidiu at jboss.org">Ovidiu Feodorov</a>
    * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  - * @version <tt>$Revision: 1.17 $</tt>
  + * @version <tt>$Revision: 1.18 $</tt>
    *
  - * $Id: Routable.java,v 1.17 2006/07/17 17:14:47 timfox Exp $
  + * $Id: Routable.java,v 1.18 2006/07/27 19:01:56 timfox Exp $
    */
   public interface Routable extends Serializable
   {
  @@ -61,6 +61,8 @@
       */
      boolean isReliable();
   
  +   void setReliable(boolean reliable);
  +
      /**
       * @return the time (in GMT milliseconds) when this routable expires and must be removed
       *         from the system. A zero value means this routable never expires.
  
  
  



More information about the jboss-cvs-commits mailing list