Package org.jboss.messaging.core.contract

Examples of org.jboss.messaging.core.contract.Delivery


                  if (trace)
                  {
                     log.trace(this + " pushing " + ref);
                  }

                  Delivery del = distributor.handle(this, ref, null);

                  setReceiversReady(del != null);

                  if (del == null)
                  {

                     // No receiver, broken receiver or full receiver so we stop delivering
                     if (trace)
                     {
                        log.trace(this + " got no delivery for " +
                                  ref +
                                  " so no receiver got the message. Stopping delivery.");
                     }

                     break;
                  }
                  else if (!del.isSelectorAccepted())
                  {
                     // No receiver accepted the message because no selectors matched, so we create
                     // an iterator (if we haven't already created it) to iterate through the refs
                     // in the channel. No delivery was really performed
View Full Code Here


         {
            // Attempt to push the ref to a receiver

            if (trace) { log.trace(this + " pushing " + ref); }

            Delivery del = distributor.handle(this, ref, null);

            setReceiversReady(del != null);

            if (del == null)
            {
               // No receiver, broken receiver or full receiver so we stop delivering
               if (trace) { log.trace(this + ": no delivery returned for message" + ref + " so no receiver got the message. Delivery is now complete"); }

               return false;
            }
            else if (del.isSelectorAccepted())
            {
               if (trace) { log.trace(this + ": " + del + " returned for message:" + ref); }

               // Receiver accepted the reference
View Full Code Here

            // Remove deliveries

            for(Iterator i = deliveriesToRemove.iterator(); i.hasNext(); )
            {
               Delivery del = (Delivery)i.next();

               if (trace) { log.trace(this + " removing " + del + " after commit"); }

               if (!del.isRecovered())
               {
                 deliveringCount.decrement();
               }
            }
View Full Code Here

           {
             Queue queue = (Queue)iter.next();
            
             if (trace) { log.trace(this + " Routing ref to queue " + queue); }
                       
             Delivery del = queue.handle(null, ref, tx);
            
             if (trace) { log.trace("Queue returned " + del); }

               if (del != null && del.isSelectorAccepted())
               {
                  routed = true;
                 
                  if (remoteSet != null)
                  {
View Full Code Here

            Iterator iter3 = acks.iterator();

            while (iter2.hasNext())
            {
               Delivery del = (Delivery)iter2.next();

               DeliveryRecovery info = (DeliveryRecovery)iter3.next();

               long deliveryId = info.getDeliveryID();

               maxDeliveryId = Math.max(maxDeliveryId, deliveryId);

               if (trace) { log.trace(this + " Recovered delivery " + deliveryId + ", " + del); }

               deliveries.put(new Long(deliveryId),
                              new DeliveryRecord(del, dlqToUse, expiryQueueToUse, dest.getRedeliveryDelay(),
                                  maxDeliveryAttemptsToUse, queueName, supportsFailover, deliveryId));

               //We want to replicate the deliveries to the new backup, but we don't want a response since that would cause actual delivery
               //to occur, which we don't want since the client already has the deliveries

               if (supportsFailover)
               {
                 postOffice.sendReplicateDeliveryMessage(queueName, id, del.getReference().getMessage().getMessageID(), deliveryId, false, true);
               }
            }
         }

         iter = postOffice.getAllBindings().iterator();
View Full Code Here

      //might get changed after the client has sent the cancel - and we don't want to end up cancelling
      //back to the original queue
      boolean reachedMaxDeliveryAttempts =
         cancel.isReachedMaxDeliveryAttempts() || cancel.getDeliveryCount() >= rec.maxDeliveryAttempts;

      Delivery del = rec.del;

      if (!expired && !reachedMaxDeliveryAttempts)
      {
         //Normal cancel back to the queue

         del.getReference().setDeliveryCount(cancel.getDeliveryCount());

         //Do we need to set a redelivery delay?

         if (rec.redeliveryDelay != 0)
         {
            del.getReference().setScheduledDeliveryTime(System.currentTimeMillis() + rec.redeliveryDelay);
         }

         if (trace) { log.trace("Cancelling delivery " + cancel.getDeliveryId()); }
         del.cancel();
      }
      else
      {
         if (expired)
         {
            //Sent to expiry queue

            JBossMessage copy = makeCopyForDLQOrExpiry(true, del);

            moveInTransaction(copy, del, rec.expiryQueue, false);
         }
         else
         {
            //Send to DLQ

            JBossMessage copy = makeCopyForDLQOrExpiry(false, del);

            moveInTransaction(copy, del, rec.dlq, true);
         }
      }

      //Need to send a message to the replicant to remove the id
      postOffice.sendReplicateAckMessage(rec.queueName, del.getReference().getMessage().getMessageID());

      return rec.del;
   }
View Full Code Here

        Queue queue = binding.queue;

         Long scid = (Long)ref.getMessage().removeHeader(Message.SOURCE_CHANNEL_ID);

         Delivery del = queue.handleMove(ref, scid.longValue());

        if (del == null)
        {
          throw new JMSException("Failed to route " + ref + " to " + dest.getName());
        }
View Full Code Here

            {
               // Attempt to push the ref to a receiver

               if (trace) { log.trace(this + " pushing " + ref); }

               Delivery del = distributor.handle(this, ref, null);

               setReceiversReady(del != null);

               if (del == null)
               {
                  // No receiver, broken receiver or full receiver so we stop delivering
                  if (trace) { log.trace(this + " got no delivery for " + ref + " so no receiver got the message. Stopping delivery."); }

                  break;
               }
               else if (!del.isSelectorAccepted())
               {
                  // No receiver accepted the message because no selectors matched, so we create
                  // an iterator (if we haven't already created it) to iterate through the refs
                  // in the channel. No delivery was really performed
View Full Code Here

         {
            // Attempt to push the ref to a receiver

            if (trace) { log.trace(this + " pushing " + ref); }

            Delivery del = distributor.handle(this, ref, null);

            setReceiversReady(del != null);

            if (del == null)
            {
               // No receiver, broken receiver or full receiver so we stop delivering
               if (trace) { log.trace(this + ": no delivery returned for message" + ref + " so no receiver got the message. Delivery is now complete"); }

               return false;
            }
            else if (del.isSelectorAccepted())
            {
               if (trace) { log.trace(this + ": " + del + " returned for message:" + ref); }

               // Receiver accepted the reference
View Full Code Here

            // Remove deliveries

            for(Iterator i = deliveriesToRemove.iterator(); i.hasNext(); )
            {
               Delivery del = (Delivery)i.next();

               if (trace) { log.trace(this + " removing " + del + " after commit"); }

               if (!del.isRecovered())
               {
                 deliveringCount.decrement();
               }
            }
View Full Code Here

TOP

Related Classes of org.jboss.messaging.core.contract.Delivery

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.