Examples of MessageProxy


Examples of org.jboss.jms.message.MessageProxy

  
   public Object handleCreateMessage(Invocation invocation) throws Throwable
   {
      JBossMessage jbm = new JBossMessage(0);
      
      return new MessageProxy(jbm);
   }
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

     
      MethodInvocation mi = (MethodInvocation)invocation;
     
      // Load the session with a message to be processed during a subsequent call to run()

      MessageProxy m = (MessageProxy)mi.getArguments()[0];
      int theConsumerID = ((Integer)mi.getArguments()[1]).intValue();
      String queueName = (String)mi.getArguments()[2];
      int maxDeliveries = ((Integer)mi.getArguments()[3]).intValue();
      SessionDelegate connectionConsumerDelegate = ((SessionDelegate)mi.getArguments()[4]);
     
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

    */
   private class ListenerRunner implements Runnable
   {
      public void run()
      {        
         MessageProxy mp = null;
        
         boolean again = false;
          
         synchronized (mainLock)
         {
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

      {
         ClientDelivery dr = (ClientDelivery)parameter;
         
         Message msg = dr.getMessage();
        
         MessageProxy proxy = JBossMessage.
            createThinDelegate(dr.getDeliveryId(), (JBossMessage)msg, dr.getDeliveryCount());

         MessageCallbackHandler handler =
            (MessageCallbackHandler)callbackHandlers.get(new Integer(dr.getConsumerId()));
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

  
            List cancels = new ArrayList();
  
            for(Iterator i = buffer.iterator(); i.hasNext();)
            {
               MessageProxy mp = (MessageProxy)i.next();
              
               DefaultCancel cancel =
                  new DefaultCancel(mp.getDeliveryId(), mp.getDeliveryCount(), false, false);
              
               cancels.add(cancel);
            }
                 
            sessionDelegate.cancelDeliveries(cancels);
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

    *        or null if one is not immediately available. Returns null if the consumer is
    *        concurrently closed.
    */
   public MessageProxy receive(long timeout) throws JMSException
   {               
      MessageProxy m = null;     
     
      synchronized (mainLock)
      {       
         if (trace) { log.trace(this + " receiving, timeout = " + timeout); }
        
         if (closed)
         {
            // If consumer is closed or closing calling receive returns null
            if (trace) { log.trace(this + " closed, returning null"); }
            return null;
         }
        
         if (listener != null)
         {
            throw new JMSException("The consumer has a MessageListener set, " +
               "cannot call receive(..)");
         }
                      
         receiverThread = Thread.currentThread();
              
         long startTimestamp = System.currentTimeMillis();
                 
         try
         {
            while(true)
            {                            
               if (timeout == 0)
               {
                  if (trace) { log.trace(this + ": receive, no timeout"); }
                 
                  m = getMessage(0);                    
                 
                  if (m == null)
                  {
                     return null;
                  }
               }
               else if (timeout == -1)
               {
                  //ReceiveNoWait
                  if (trace) { log.trace(this + ": receive, noWait"); }
                 
                  m = getMessage(-1);                    
                 
                  if (m == null)
                  {
                     if (trace) { log.trace(this + ": no message available"); }
                     return null;
                  }
               }
               else
               {
                  if (trace) { log.trace(this + ": receive, timeout " + timeout + " ms, blocking poll on queue"); }
                 
                  m = getMessage(timeout);
                                   
                  if (m == null)
                  {
                     // timeout expired
                     if (trace) { log.trace(this + ": " + timeout + " ms timeout expired"); }
                    
                     return null;
                  }
               }
                             
               if (trace) { log.trace(this + " received " + m + " after being blocked on buffer"); }
                      
               boolean ignore =
                  checkExpiredOrReachedMaxdeliveries(m, sessionDelegate, maxDeliveries);
              
               if (!isConnectionConsumer && !ignore)
               {
                  DeliveryInfo info = new DeliveryInfo(m, consumerID, queueName, null);
                                                   
                  m.incDeliveryCount();          
                  sessionDelegate.preDeliver(info);                 
                 
                  sessionDelegate.postDeliver();                                   
               }
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

      }
   }
  
   private void handleMessageInternal(Object message) throws Exception
   {
      MessageProxy proxy = (MessageProxy) message;

      if (trace) { log.trace(this + " receiving message " + proxy + " from the remoting layer"); }

      synchronized (mainLock)
      {
         if (closed)
         {
            // This should never happen - we should always wait for all deliveries to arrive
            // when closing
            log.warn(this + " is closed, so ignoring message");
           
            return;
         }

         proxy.setSessionDelegate(sessionDelegate, isConnectionConsumer);

         //Add it to the buffer
         buffer.addLast(proxy, proxy.getJMSPriority());

         lastDeliveryId = proxy.getDeliveryId();
        
         if (trace) { log.trace(this + " added message(s) to the buffer"); }

         messageAdded();
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

            if (trace) { log.trace("InterruptedException, " + this + ".getMessage() returning null"); }
            return null;
         }
      }

      MessageProxy m = null;
            
      if (!closed && !buffer.isEmpty())
      {
         m = (MessageProxy)buffer.removeFirst();
      }
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

   {
      ClientDelivery del = (ClientDelivery)message;
     
      JBossMessage msg = (JBossMessage)del.getMessage();
     
      MessageProxy proxy = JBossMessage.
         createThinDelegate(del.getDeliveryId(), (JBossMessage)msg, del.getDeliveryCount());
     
      JBossDestination dest =(JBossDestination) proxy.getJMSDestination();
     
      // If the message received is a direct destination (MessageSucker), and this Consumer is not a MessageSucker.. then we need to replace the destination
      if (dest.isDirect() && !this.consumerDelegate.getDestination().isDirect())
      {
         proxy.setJMSDestination(msg.getOriginalSuckerDestination());
      }
     
      proxy.setSource(cbManager);

      //TODO - we temporarily need to execute on a different thread to avoid a deadlock situation in
      //       failover where a message is sent then the valve is locked, and the message send cause
      //       a message delivery back to the same client which tries to ack but can't get through
      //       the valve. This won't be necessary when we move to a non blocking transport
View Full Code Here

Examples of org.jboss.jms.message.MessageProxy

  
            List cancels = new ArrayList();
  
            for(Iterator i = buffer.iterator(); i.hasNext();)
            {
               MessageProxy mp = (MessageProxy)i.next();
              
               DefaultCancel cancel =
                  new DefaultCancel(mp.getDeliveryId(), mp.getDeliveryCount(), false, false);
              
               cancels.add(cancel);
            }
                 
            if (trace) { log.trace("Calling cancelDeliveries"); }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.