Package net.timewalker.ffmq3.local.session

Examples of net.timewalker.ffmq3.local.session.LocalMessageConsumer


      int localConsumersCount = consumersSnapshot.size();
      int currentOffset = consumerOffset++; // Copy current offset (value is volatile and should not change during the following loop)
      for (int n = 0 ; n < localConsumersCount ; n++)
      {
            int offset = ((n+currentOffset) % localConsumersCount);
            LocalMessageConsumer consumer = (LocalMessageConsumer)consumersSnapshot.get(offset);
           
            // Check that the consumer connection is started
            if (!consumer.getSession().getConnection().isStarted())
              continue;
           
            // Check message selector
            if (message != null)
            {
              MessageSelector consumerSelector = consumer.getReceiveSelector();
              if (consumerSelector != null)
                {
                message.ensureDeserializationLevel(MessageSerializationLevel.ALL_HEADERS);
               
                  try
                  {
                      if (!consumerSelector.matches(message))
                        continue;
                  }
                  catch (JMSException e)
                  {
                    ErrorTools.log(e, log);
                      consumer.getSession().getConnection().exceptionOccured(e);
                      break;
                  }
                }
            }

            try
        {
              if (consumer.mayBlock())
                engine.getDeliveryAsyncTaskManager().execute(consumer);
              else
                consumer.messageAvailable();
              break;
        }
            catch (JMSException e)
          {
            ErrorTools.log(e, log);
            consumer.getSession().getConnection().exceptionOccured(e);
          }
      }
    }
View Full Code Here


    {
      synchronized (localConsumers)
    {
        for (int i = 0; i < localConsumers.size(); i++)
      {
        LocalMessageConsumer consumer = (LocalMessageConsumer)localConsumers.get(i);
        if (consumer.getSubscriberId().equals(consumerID))
          return true;
      }
        return false;
    }
    }
View Full Code Here

    }
   
    private LocalQueueBrowser lookupBrowser( AbstractQueueBrowserQuery query ) throws JMSException
    {
        LocalSession localSession = lookupSession(query);
        LocalQueueBrowser browser = (LocalQueueBrowser)localSession.lookupRegisteredBrowser(query.getBrowserId());
        if (browser == null)
            throw new FFMQException("Invalid browser id : "+query.getBrowserId(),"NETWORK_ERROR");
        return browser;
    }
View Full Code Here

        return browser;
    }
   
    private LocalQueueBrowserEnumeration lookupBrowserEnumeration( AbstractQueueBrowserEnumerationQuery query ) throws JMSException
    {
        LocalQueueBrowser browser = lookupBrowser(query);
        LocalQueueBrowserEnumeration browserEnum = (LocalQueueBrowserEnumeration)browser.lookupRegisteredEnumeration(query.getEnumId());
        if (browserEnum == null)
            throw new FFMQException("Invalid browser enumeration id : "+query.getEnumId(),"NETWORK_ERROR");
        return browserEnum;
    }
View Full Code Here

        return new CreateBrowserResponse();
    }
   
    private QueueBrowserGetEnumerationResponse processQueueBrowserGetEnumeration( QueueBrowserGetEnumerationQuery query ) throws JMSException
    {
        LocalQueueBrowser browser = lookupBrowser(query);
        LocalQueueBrowserEnumeration browserEnum = (LocalQueueBrowserEnumeration)browser.getEnumeration();
       
        QueueBrowserGetEnumerationResponse response = new QueueBrowserGetEnumerationResponse();
        response.setEnumId(browserEnum.getId());

        return response;
View Full Code Here

        return new RollbackMessageResponse();
    }
   
    private CloseBrowserResponse processCloseBrowser( CloseBrowserQuery query ) throws JMSException
    {
        LocalQueueBrowser browser = lookupBrowser(query);
       
        browser.close();

        return new CloseBrowserResponse();
    }
View Full Code Here

    }
   
    private LocalQueueBrowserEnumeration lookupBrowserEnumeration( AbstractQueueBrowserEnumerationQuery query ) throws JMSException
    {
        LocalQueueBrowser browser = lookupBrowser(query);
        LocalQueueBrowserEnumeration browserEnum = (LocalQueueBrowserEnumeration)browser.lookupRegisteredEnumeration(query.getEnumId());
        if (browserEnum == null)
            throw new FFMQException("Invalid browser enumeration id : "+query.getEnumId(),"NETWORK_ERROR");
        return browserEnum;
    }
View Full Code Here

    }
   
    private QueueBrowserGetEnumerationResponse processQueueBrowserGetEnumeration( QueueBrowserGetEnumerationQuery query ) throws JMSException
    {
        LocalQueueBrowser browser = lookupBrowser(query);
        LocalQueueBrowserEnumeration browserEnum = (LocalQueueBrowserEnumeration)browser.getEnumeration();
       
        QueueBrowserGetEnumerationResponse response = new QueueBrowserGetEnumerationResponse();
        response.setEnumId(browserEnum.getId());

        return response;
    }
View Full Code Here

        return response;
    }
   
    private QueueBrowserFetchElementResponse processQueueBrowserFetchElement( QueueBrowserFetchElementQuery query ) throws JMSException
    {
        LocalQueueBrowserEnumeration browserEnum = lookupBrowserEnumeration(query);
       
        QueueBrowserFetchElementResponse response = new QueueBrowserFetchElementResponse();
        if (browserEnum.hasMoreElements())
          response.setMessage((AbstractMessage)browserEnum.nextElement());
        else
          response.setMessage(null);

        return response;
    }
View Full Code Here

        return new CloseBrowserResponse();
    }
   
    private CloseBrowserEnumerationResponse processCloseBrowserEnumeration( CloseBrowserEnumerationQuery query ) throws JMSException
    {
        LocalQueueBrowserEnumeration browserEnum = lookupBrowserEnumeration(query);
       
        browserEnum.close();

        return new CloseBrowserEnumerationResponse();
    }
View Full Code Here

TOP

Related Classes of net.timewalker.ffmq3.local.session.LocalMessageConsumer

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.