Package org.jboss.messaging.core.impl

Examples of org.jboss.messaging.core.impl.SimpleDelivery


         return null;
      }

      if (ref.getMessage().isExpired())
      {
         SimpleDelivery delivery = new SimpleDelivery(observer, ref, true, false);

         try
         {
            sessionEndpoint.expireDelivery(delivery, expiryQueue);
         }
         catch (Throwable t)
         {
            log.error("Failed to expire delivery: " + delivery, t);
         }

         return delivery;
      }
     
      if (preserveOrdering && remote)
      {
        //If the header exists it means the message has already been sucked once - so reject.
       
        if (ref.getMessage().getHeader(Message.CLUSTER_SUCKED) != null)
        {
          if (trace) { log.trace("Message has already been sucked once - not sucking again"); }
         
          return null;
        }           
      }

      synchronized (startStopLock)
      {
         // If the consumer is stopped then we don't accept the message, it should go back into the
         // queue for delivery later.
         if (!started)
         {
            if (trace) { log.trace(this + " NOT started!"); }

            return null;
         }
        
         if (trace) { log.trace(this + " has startStopLock lock, preparing the message for delivery"); }

         Message message = ref.getMessage();
        
         boolean selectorRejected = !this.accept(message);
        
         SimpleDelivery delivery = new SimpleDelivery(observer, ref, !selectorRejected, false);

         if (selectorRejected)
         {
            return delivery;
         }
        
         if (noLocal)
         {
            String conId = ((JBossMessage) message).getConnectionID();

            if (trace) { log.trace("message connection id: " + conId + " current connection connection id: " + sessionEndpoint.getConnectionEndpoint().getConnectionID()); }

            if (sessionEndpoint.getConnectionEndpoint().getConnectionID().equals(conId))
            {
              if (trace) { log.trace("Message from local connection so rejecting"); }
             
              try
               {
                 delivery.acknowledge(null);
               }
               catch (Throwable t)
               {
                 log.error("Failed to acknowledge delivery", t);
                
View Full Code Here


         }
        
         if (SELECTOR_REJECTING.equals(state))
         {
            log.trace(this + " is rejecting message since doesn't match selector");
            return new SimpleDelivery(null, null, false, false);
         }

         if (REJECTING.equals(state))
         {

            log.trace(this + " is rejecting reference " + ref);
            return null;
         }
        
         if (ACCEPTING_TO_MAX.equals(state))
         {
            //Only accept up to maxRefs references
            if (messages.size() == maxRefs)
            {
               return null;
            }
         }

         if (BROKEN.equals(state))
         {
            throw new RuntimeException("THIS IS AN EXCEPTION THAT SIMULATES "+
                                       "THE BEHAVIOUR OF A BROKEN RECEIVER");
         }

         log.trace("State is:" + state);
        
         boolean done = ACKING.equals(state);
        
         //NOTE! it is NOT Nacking, it is keeping - don't say NACKing - it is misleading (nack means cancel)        
         log.trace(this + " is " + (done ? "ACKing" : "Keeping") " message " + ref);
        
         Message m = ref.getMessage();
        
         SimpleDelivery delivery = new SimpleDelivery(observer, ref, true, false);
         messages.add(new Object[] {m, done ? null : delivery});
        
         if (immediateAsynchronousAcknowledgment)
         {
            log.trace("simulating an asynchronous ACK that arrives before we return the delivery to channel");
            try
            {
               delivery.acknowledge(null);
            }
            catch(Throwable t)
            {
               log.error("Cannot acknowledge", t);
            }
View Full Code Here

      {
         throw new RuntimeException("I AM BROKEN!");
      }

      refs.add(ref);
      return new SimpleDelivery(observer, ref, true, false);
   }
View Full Code Here

            return null;
         }

         assertEquals(refs[consumeCount + count].getMessage().getMessageID(), ref.getMessage().getMessageID());

         SimpleDelivery del = new SimpleDelivery(observer, ref);

         dels[count] = del;

         count++;
View Full Code Here

         if (count == numToCancel)
         {
            return null;
         }

         SimpleDelivery del = new SimpleDelivery(observer, ref);

         toCancel[count] = del;

         count++;
View Full Code Here

            return null;
         }

         synchronized(lock)
         {
            return new SimpleDelivery(null, null, true, false);
         }
      }
View Full Code Here

         if (closed)
         {
            return null;
         }
        
         Delivery del = new SimpleDelivery(null, null, selectorMatches, false);
        
         if (selectorMatches)
         {
            gotRef = true;
         }
View Full Code Here

/* 214 */       return null;
/*     */     }
/*     */
/* 217 */     if (ref.getMessage().isExpired())
/*     */     {
/* 219 */       SimpleDelivery delivery = new SimpleDelivery(observer, ref, true, false);
/*     */       try
/*     */       {
/* 223 */         this.sessionEndpoint.expireDelivery(delivery, this.expiryQueue);
/*     */       }
/*     */       catch (Throwable t)
/*     */       {
/* 227 */         log.error("Failed to expire delivery: " + delivery, t);
/*     */       }
/*     */
/* 230 */       return delivery;
/*     */     }
/*     */
/* 233 */     if ((this.preserveOrdering) && (this.remote))
/*     */     {
/* 237 */       if (ref.getMessage().getHeader("CLUSTER_SUCKED") != null)
/*     */       {
/* 239 */         if (this.trace) log.trace("Message has already been sucked once - not sucking again");
/*     */
/* 241 */         return null;
/*     */       }
/*     */     }
/*     */
/* 245 */     synchronized (this.startStopLock)
/*     */     {
/* 249 */       if (!this.started)
/*     */       {
/* 251 */         if (this.trace) log.trace(this + " NOT started!");
/*     */
/* 253 */         return null;
/*     */       }
/*     */
/* 256 */       if (this.trace) log.trace(this + " has startStopLock lock, preparing the message for delivery");
/*     */
/* 258 */       Message message = ref.getMessage();
/*     */
/* 260 */       boolean selectorRejected = !accept(message);
/*     */
/* 262 */       SimpleDelivery delivery = new SimpleDelivery(observer, ref, !selectorRejected, false);
/*     */
/* 264 */       if (selectorRejected)
/*     */       {
/* 266 */         return delivery;
/*     */       }
/*     */
/* 269 */       if (this.noLocal)
/*     */       {
/* 271 */         String conId = ((JBossMessage)message).getConnectionID();
/*     */
/* 273 */         if (this.trace) log.trace("message connection id: " + conId + " current connection connection id: " + this.sessionEndpoint.getConnectionEndpoint().getConnectionID());
/*     */
/* 275 */         if (this.sessionEndpoint.getConnectionEndpoint().getConnectionID().equals(conId))
/*     */         {
/* 277 */           if (this.trace) log.trace("Message from local connection so rejecting");
/*     */
/*     */           try
/*     */           {
/* 281 */             delivery.acknowledge(null);
/*     */           }
/*     */           catch (Throwable t)
/*     */           {
/* 285 */             log.error("Failed to acknowledge delivery", t);
/*     */
View Full Code Here

/*     */
/* 378 */       Queue queue = binding.queue;
/*     */
/* 380 */       if (this.trace) log.trace("Destination for message[ID=" + ref.getMessage().getMessageID() + "] is: " + queue);
/*     */
/* 383 */       Delivery del = new SimpleDelivery(queue, ref, true, true);
/*     */
/* 385 */       if (this.trace) log.trace("Acknowledging..");
/*     */
/*     */       try
/*     */       {
/* 392 */         boolean deactivate = false;
/*     */
/* 394 */         if (!queue.isActive())
/*     */         {
/* 396 */           queue.activate();
/*     */
/* 398 */           deactivate = true;
/*     */         }
/*     */
/* 401 */         del.acknowledge(tx);
/*     */
/* 403 */         if (deactivate)
/*     */         {
/* 405 */           queue.deactivate();
/*     */         }
View Full Code Here

         return null;
      }

      if (ref.getMessage().isExpired())
      {
         SimpleDelivery delivery = new SimpleDelivery(observer, ref, true, false);

         try
         {
            sessionEndpoint.expireDelivery(delivery, expiryQueue);
         }
         catch (Throwable t)
         {
            log.error("Failed to expire delivery: " + delivery, t);
         }

         return delivery;
      }
     
      if (preserveOrdering && remote)
      {
        //If the header exists it means the message has already been sucked once - so reject.
       
        if (ref.getMessage().getHeader(Message.CLUSTER_SUCKED) != null)
        {
          if (trace) { log.trace("Message has already been sucked once - not sucking again"); }
         
          return null;
        }           
      }

      synchronized (startStopLock)
      {
         // If the consumer is stopped then we don't accept the message, it should go back into the
         // queue for delivery later.
         if (!started)
         {
            if (trace) { log.trace(this + " NOT started!"); }

            return null;
         }
        
         if (trace) { log.trace(this + " has startStopLock lock, preparing the message for delivery"); }

         Message message = ref.getMessage();
        
         boolean selectorRejected = !this.accept(message);
        
         SimpleDelivery delivery = new SimpleDelivery(observer, ref, !selectorRejected, false);

         if (selectorRejected)
         {
            return delivery;
         }
        
         if (noLocal)
         {
            String conId = ((JBossMessage) message).getConnectionID();

            if (trace) { log.trace("message connection id: " + conId + " current connection connection id: " + sessionEndpoint.getConnectionEndpoint().getConnectionID()); }

            if (sessionEndpoint.getConnectionEndpoint().getConnectionID().equals(conId))
            {
              if (trace) { log.trace("Message from local connection so rejecting"); }
             
              try
               {
                 delivery.acknowledge(null);
               }
               catch (Throwable t)
               {
                 log.error("Failed to acknowledge delivery", t);
                
View Full Code Here

TOP

Related Classes of org.jboss.messaging.core.impl.SimpleDelivery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.