Package org.jboss.jms.delegate

Examples of org.jboss.jms.delegate.DeliveryInfo


               boolean ignore =
                  checkExpiredOrReachedMaxdeliveries(m, sessionDelegate, maxDeliveries, shouldAck);
              
               if (!isConnectionConsumer && !ignore)
               {
                  DeliveryInfo info = new DeliveryInfo(m, consumerID, queueName, null, shouldAck);
                                                   
                  sessionDelegate.preDeliver(info);                 
                 
                  //If post deliver didn't succeed and acknowledgement mode is auto_ack
                  //That means the ref wasn't acked since it couldn't be found.
View Full Code Here


         if (acknowledgeMode == Session.CLIENT_ACKNOWLEDGE)
         {
            for(Iterator i = getClientAckList().iterator(); i.hasNext(); )
            {
               DeliveryInfo info = (DeliveryInfo)i.next();
               if (!info.getMessageProxy().getMessage().isReliable())
               {
                  i.remove();
                  log.trace("removed non persistent delivery " + info);
               }
            }

            ackInfos = getClientAckList();
         }
         else
         {
            DeliveryInfo autoAck = getAutoAckInfo();
            if (autoAck != null)
            {
               if (!autoAck.getMessageProxy().getMessage().isReliable())
               {
                  // unreliable, discard
                  setAutoAckInfo(null);
               }
               else
               {
                  // reliable
                  ackInfos = new ArrayList();
                  ackInfos.add(autoAck);
               }
            }
         }

         log.trace(this + " retrieved " + ackInfos.size() + " deliveries");
      }
      else
      {
         // Transacted session - we need to get the acks from the resource manager. BTW we have
         // kept the old resource manager.

         ackInfos = rm.getDeliveriesForSession(getSessionID());
      }

      List recoveryInfos = new ArrayList();
      if (!ackInfos.isEmpty())
      {        
         for (Iterator i = ackInfos.iterator(); i.hasNext(); )
         {
            DeliveryInfo del = (DeliveryInfo)i.next();
            DeliveryRecovery recInfo =
               new DeliveryRecovery(del.getMessageProxy().getDeliveryId(),
                                    del.getMessageProxy().getMessage().getMessageID(),
                                    del.getQueueName());

            recoveryInfos.add(recInfo);       
         }        
      }
     
View Full Code Here

        
         List acks = state.getAcks();
        
         if (!acks.isEmpty())
         {
            DeliveryInfo info = (DeliveryInfo)acks.get(0);
           
            MessageProxy mp = info.getMessageProxy();
           
            SessionDelegate del = mp.getSessionDelegate();
           
            del.redeliver(acks);
         }
View Full Code Here

/*     */
/* 290 */         iter2 = acks.iterator();
/*     */
/* 292 */         while (iter2.hasNext())
/*     */         {
/* 294 */           DeliveryInfo ack = (DeliveryInfo)iter2.next();
/*     */
/* 297 */           if (ack.isShouldAck())
/*     */           {
/* 300 */             out.writeLong(ack.getMessageProxy().getDeliveryId());
/*     */           }
/*     */
/*     */         }
/*     */
/* 305 */         out.writeLong(-9223372036854775808L);
View Full Code Here

/* 431 */         this.sessionID = newSessionID;
/* 432 */         this.serverID = newServerID;
/*     */
/* 435 */         for (Iterator i = this.acks.iterator(); i.hasNext(); )
/*     */         {
/* 437 */           DeliveryInfo di = (DeliveryInfo)i.next();
/*     */
/* 439 */           if (!di.getMessageProxy().getMessage().isReliable())
/*     */           {
/* 441 */             if (ClientTransaction.trace) ClientTransaction.log.trace(this + " discarded non-persistent " + di + " on failover");
/* 442 */             i.remove();
/*     */           }
/*     */         }
View Full Code Here

/*     */
/* 612 */       List acks = state.getAcks();
/*     */
/* 614 */       if (!acks.isEmpty())
/*     */       {
/* 616 */         DeliveryInfo info = (DeliveryInfo)acks.get(0);
/*     */
/* 618 */         MessageProxy mp = info.getMessageProxy();
/*     */
/* 620 */         SessionDelegate del = mp.getSessionDelegate();
/*     */
/* 622 */         del.redeliver(acks);
/*     */       }
View Full Code Here

/*     */   {
/* 894 */     List acks = new ArrayList();
/*     */
/* 896 */     for (Iterator i = deliveryInfos.iterator(); i.hasNext(); )
/*     */     {
/* 898 */       DeliveryInfo ack = (DeliveryInfo)i.next();
/*     */
/* 900 */       if (ack.isShouldAck())
/*     */       {
/* 902 */         acks.add(ack);
/*     */       }
/*     */     }
/*     */
View Full Code Here

/*     */
/* 293 */       if (this.acknowledgeMode == 2)
/*     */       {
/* 295 */         for (Iterator i = getClientAckList().iterator(); i.hasNext(); )
/*     */         {
/* 297 */           DeliveryInfo info = (DeliveryInfo)i.next();
/* 298 */           if (!info.getMessageProxy().getMessage().isReliable())
/*     */           {
/* 300 */             i.remove();
/* 301 */             log.trace("removed non persistent delivery " + info);
/*     */           }
/*     */         }
/*     */
/* 305 */         ackInfos = getClientAckList();
/*     */       }
/*     */       else
/*     */       {
/* 309 */         DeliveryInfo autoAck = getAutoAckInfo();
/* 310 */         if (autoAck != null)
/*     */         {
/* 312 */           if (!autoAck.getMessageProxy().getMessage().isReliable())
/*     */           {
/* 315 */             setAutoAckInfo(null);
/*     */           }
/*     */           else
/*     */           {
/* 320 */             ackInfos = new ArrayList();
/* 321 */             ackInfos.add(autoAck);
/*     */           }
/*     */         }
/*     */       }
/*     */
/* 326 */       log.trace(this + " retrieved " + ackInfos.size() + " deliveries");
/*     */     }
/*     */     else
/*     */     {
/* 333 */       ackInfos = rm.getDeliveriesForSession(getSessionID());
/*     */     }
/*     */
/* 336 */     List recoveryInfos = new ArrayList();
/*     */     Iterator i;
/* 337 */     if (!ackInfos.isEmpty())
/*     */     {
/* 339 */       for (i = ackInfos.iterator(); i.hasNext(); )
/*     */       {
/* 341 */         DeliveryInfo del = (DeliveryInfo)i.next();
/* 342 */         DeliveryRecovery recInfo = new DeliveryRecovery(del.getMessageProxy().getDeliveryId(), del.getMessageProxy().getMessage().getMessageID(), del.getQueueName());
/*     */
/* 347 */         recoveryInfos.add(recInfo);
/*     */       }
/*     */
/*     */     }
View Full Code Here

/*     */
/* 125 */     int ackMode = state.getAcknowledgeMode();
/*     */
/* 131 */     if ((ackMode == 1) || (isXAAndConsideredNonTransacted(state)))
/*     */     {
/* 135 */       DeliveryInfo remainingAutoAck = state.getAutoAckInfo();
/*     */
/* 137 */       if (remainingAutoAck != null)
/*     */       {
/* 139 */         if (this.trace) log.trace(this + " handleClosing(). Found remaining auto ack. Will ack " + remainingAutoAck);
/*     */
View Full Code Here

/* 228 */     SessionState state = getState(invocation);
/*     */
/* 230 */     int ackMode = state.getAcknowledgeMode();
/*     */
/* 232 */     Object[] args = mi.getArguments();
/* 233 */     DeliveryInfo info = (DeliveryInfo)args[0];
/*     */
/* 235 */     if (ackMode == 2)
/*     */     {
/* 239 */       if (this.trace) log.trace(this + " added to CLIENT_ACKNOWLEDGE list delivery " + info);
/*     */
/* 242 */       if (info.getConnectionConsumerSession() != null)
/*     */       {
/* 244 */         throw new IllegalStateException("CLIENT_ACKNOWLEDGE cannot be used with a connection consumer");
/*     */       }
/*     */
/* 248 */       state.getClientAckList().add(info);
/*     */     }
/* 252 */     else if ((ackMode == 1) || (isXAAndConsideredNonTransacted(state)))
/*     */     {
/* 256 */       if (this.trace) log.trace(this + " added " + info + " to session state");
/*     */
/* 258 */       state.setAutoAckInfo(info);
/*     */     }
/* 260 */     else if (ackMode == 3)
/*     */     {
/* 262 */       if (this.trace) log.trace(this + " added to DUPS_OK_ACKNOWLEDGE list delivery " + info);
/*     */
/* 264 */       state.getClientAckList().add(info);
/*     */
/* 267 */       state.setAutoAckInfo(info);
/*     */     }
/*     */     else
/*     */     {
/* 271 */       Object txID = state.getCurrentTxId();
/*     */
/* 273 */       if (txID != null)
/*     */       {
/* 279 */         ConnectionState connState = (ConnectionState)state.getParent();
/*     */
/* 281 */         if (this.trace) log.trace("sending acknowlegment transactionally, queueing on resource manager");
/*     */
/* 287 */         ClientSessionDelegate connectionConsumerDelegate = (ClientSessionDelegate)info.getConnectionConsumerSession();
/*     */
/* 290 */         String sessionId = connectionConsumerDelegate != null ? connectionConsumerDelegate.getID() : state.getSessionID();
/*     */
/* 293 */         connState.getResourceManager().addAck(txID, sessionId, info);
/*     */       }
View Full Code Here

TOP

Related Classes of org.jboss.jms.delegate.DeliveryInfo

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.